VBA GetAttr İşlevi

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”

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave