gizlemek

Katılım
7 Temmuz 2004
Mesajlar
48
Merhaba

Bir klasördeki yüzlerce dosyayı (excel veya başka bir dosya çeşidi olabilir) VBA ile for next döngüsüyle gizli dosya haline nasıl getirebiliriz.? yardımlarınız için şimdiden teşekkürler...

herkese kolay gelsin...
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Aşagıdaki Test isimli proseduru deneyin;

[vb:1:540ea16d62]Sub Test()
Dim ObjFolder As Object
Dim MyFile As String
Set ObjFolder = CreateObject("Shell.Application").BrowseForFolder _
(0, "Klasor secin...", &H100, 0&)
On Error GoTo ErrMsg:
If Not TypeName(ObjFolder) = "Nothing" Then
ObjPath = ObjFolder.Items.Item.Path
If Left(ObjPath, 1) = ":" Then GoTo ErrMsg:
End If

MyFile = Dir(ObjPath & Application.PathSeparator & "*.*", vbDirectory)

Do While MyFile <> ""
If MyFile <> "." And MyFile <> ".." Then
SetAttr ObjPath & Application.PathSeparator & MyFile, vbHidden
End If
MyFile = Dir
Loop

Set ObjFolder = Nothing
Exit Sub
ErrMsg:
Err.Clear
MsgBox "Lutfen gecerli bir klasor secin....", vbCritical, "Kullanicinin dikkatine !"
End Sub
[/vb:1:540ea16d62]
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Bu yöntemle gizlenen dosyaları geri nasıl normal hale alabiliriz;

"vbHidden" yerine "vbunHidden" dedim fakat olmadı.


İyi Çalışmalar...
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Levent,

ilginize teşekkür ederim.

visible olarak denedim fakat olmadı.

İyi Çalışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
vbNormal şeklinde deneyin.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
vbNormal,

bu şekilde olmadı.Kolay gelsin.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birde vbArchive olarak deneyin.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Hocam yine olmadı,
Acaba ayarlarda mı bir sıkıntı var?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aşağıdaki kodu çalıştırın...

Kod:
Sub Test2()
    Dim ObjFolder As Object
    Dim ExDir As String
    
    ExDir = CurDir
    Set ObjFolder = CreateObject("Shell.Application").BrowseForFolder _
                    (0, "Klasor secin...", &H100, 0&)
    On Error GoTo ErrMsg:
    If Not TypeName(ObjFolder) = "Nothing" Then
        ObjPath = ObjFolder.Items.Item.Path
        If Left(ObjPath, 1) = ":" Then GoTo ErrMsg:
    End If
    
    ChDir ObjPath
    Shell "Cmd /C" & "Attrib -H *.*", vbHide
    
    Set ObjFolder = Nothing
    ChDir ExDir
    Exit Sub
    
ErrMsg:
    Err.Clear
    MsgBox "Lutfen gecerli bir klasor secin....", vbCritical, "Kullanicinin dikkatine !"
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Hocam bu kodlarlada olmuyor,

En Üsteki kodla, "My Documents" içerisinde gizlenen klasörlerimi geri alamıyorum...

İyi Akşamlar...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Size manuel bir çözüm öneriyorum. Gizli dosyalarınızın bulunduğu klasörü açın. Araçlar-klasör seçenekleri-görünüm-gizli dosya ve klasörleri göster i işaretleyerek tamam butonuna basın. Dosyalarınız artık görünür durumda olmasına rağmen halen gizlidir. Gizli durumunu iptal etmek için klasördeki tüm dosyaları seçin sonra sağ klik yaparak özellikleri seçin. Çıkan pencerede gizli checkboxındaki işareti kaldırın. Böylece dosyalarınız artık görünür olacaktır.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alt klasörler de varsa, o zaman;

Kod:
Sub Test3()
    Dim ObjFolder As Object
    Dim ExDir As String
   
    ExDir = CurDir
    Set ObjFolder = CreateObject("Shell.Application").BrowseForFolder _
                    (0, "Klasor secin...", &H100, 0&)
    On Error GoTo ErrMsg:
    If Not TypeName(ObjFolder) = "Nothing" Then
        ObjPath = ObjFolder.Items.Item.Path
        If Left(ObjPath, 1) = ":" Then GoTo ErrMsg:
    End If
   
    ChDir ObjPath
    Shell "Cmd /C" & "Attrib -H /S /D", vbHide
   
    Set ObjFolder = Nothing
    ChDir ExDir
    Exit Sub
   
ErrMsg:
    Err.Clear
    MsgBox "Lutfen gecerli bir klasor secin....", vbCritical, "Kullanicinin dikkatine !"
End Sub
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
klasör veya klasör içeriği seçim ekranını (gözat) değiştirebilirmiyiz?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
mnz' Alıntı:
klasör veya klasör içeriği seçim ekranını (gözat) değiştirebilirmiyiz?
"Değiştirmek" derken neyi kastediyorsunuz ?
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Tamamdır,

Haluk hocamım verdiği Manuel yöntemle hallettim.

İyi Çalışmalar.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Manuel yöntemi ben değil, Levent dostum önermişti. Ben kod ile bir çözüm önermiştim. Problemin çözülmesine sevindim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
mnz' Alıntı:
Ne kadar açıklayıcı soru soruyorsunuz .... bravo yani.

Bahsettiğiniz pencere, Windows'un Shell DLL'i içindeki bir nesnedir.

"Siz bunda nasıl bir değişiklik istiyorsunuz ?"

demek istemiştim ama, bir türlü anlaşamadık.
 
Üst