GetAttr Açıklama
Bir dosyanın, klasörün veya dizinin özniteliklerini temsil eden bir tamsayı döndürür.
Basit GetAttr Örnekleri
12 | MsgBox GetAttr("C:\")MsgBox GetAttr("D:\Test.txt") |
Bu, dosya/klasör/sürücü ayarlarına göre bir tamsayı döndürür.
Yol adı yoksa, bir Çalışma Zamanı hatası '53' oluşur: Dosya bulunamadı.
GetAttr Sözdizimi
VBA Düzenleyicisi'nde GetAttr İşlevinin sözdizimini görmek için “GetAttr(” yazabilirsiniz:
GetAttr işlevi bir bağımsız değişken içerir:
YolAdı: Bir dosya/klasör/sürücüyü temsil eden bir dize ifadesi.
Dönüş değerleri
tarafından döndürülen değerGetAttr aşağıdaki öznitelik değerlerinin toplamıdır:
Devamlı | Değer | Açıklama |
---|---|---|
vbNormal | 0 | Normal. |
vbReadOnly | 1 | Sadece oku. |
vbGizli | 2 | Gizlenmiş. |
vbSystem | 4 | Sistem dosyası. Macintosh'ta mevcut değildir. |
vbDirectory | 16 | Dizin veya klasör. |
vbArchive | 32 | Dosya, son yedeklemeden bu yana değişti. Macintosh'ta mevcut değildir. |
vbAlias | 64 | Belirtilen dosya adı bir diğer addır. Yalnızca Macintosh'ta kullanılabilir. |
Excel VBA GetAttr İşlevi Örnekleri
1 | MsgBox GetAttr("C:\Program Dosyaları (x86)") |
1 | MsgBox GetAttr("C:\") |
Çeşitli klasör/dosya/sürücü ile test ederken, 1, 2, 5, 22 ve benzeri gibi çeşitli sayılar döndürecektir.
Örneğin, 22 olması durumunda, vbDirectory(16) + vbSystem(4) + vbHidden(2) anlamına gelir.
Her sayıya karşılık gelen öznitelik ayarlarını almak için aşağıdaki işlevi kullanabilirsiniz.
12345678910111213 | İşlev GetAttributeSettings(attr As VbFileAttribute) As StringDize Olarak Dim strSettingsstrSettings = ""If (attr Ve vbDirectory) = vbDirectory O zaman strSettings = strSettings & "&Directory"If (attr Ve vbVolume) = vbVolume Sonra strSettings = strSettings & "&Volumn"If (attr Ve vbAlias) = vbAlias O zaman strSettings = strSettings & "&Alias"If (attr Ve vbArchive) = vbArchive O zaman strSettings = strSettings & "&Archive"If (attr Ve vbHidden) = vbHidden O zaman strSettings = strSettings & "&Gizli"If (attr Ve vbReadOnly) = vbReadOnly O zaman strSettings = strSettings & "&ReadOnly"If (attr Ve vbSystem) = vbSystem O zaman strSettings = strSettings & "&System"GetAttributeSettings = Orta(strSettings, 2)Bitiş İşlevi |
1 | MsgBox GetAttributeSettings(22) |
Sonuç: “Dizin&Gizli&Sistem”