Función GetAttr de VBA

Descripción de GetAttr

Devuelve un número entero que representa los atributos de un archivo, carpeta o directorio.

Ejemplos simples de GetAttr

12 MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt")

Esto devolverá un número entero de acuerdo con la configuración del archivo / carpeta / unidad.

Si el nombre de la ruta no existe, se producirá un error en tiempo de ejecución "53": Archivo no encontrado.

Sintaxis de GetAttr

En el Editor de VBA, puede escribir "GetAttr (" para ver la sintaxis de la función GetAttr:

La función GetAttr contiene un argumento:

PathName: Una expresión de cadena que representa un archivo / carpeta / unidad.

Valores devueltos

El valor devuelto porGetAttr es la suma de los siguientes valores de atributo:

Constante Valor Descripción
vbNormal 0 Normal.
vbReadOnly 1 Solo lectura.
vbHidden 2 Oculto.
vbSystem 4 Archivo de sistema. No disponible en Macintosh.
vbDirectory 16 Directorio o carpeta.
vbArchive 32 El archivo ha cambiado desde la última copia de seguridad. No disponible en Macintosh.
vbAlias 64 El nombre de archivo especificado es un alias. Disponible solo en Macintosh.

Ejemplos de la función GetAttr de Excel VBA

1 MsgBox GetAttr ("C: \ Archivos de programa (x86)")
1 MsgBox GetAttr ("C: \")

Mientras prueba con varias carpetas / archivos / unidades, devolverá varios números como 1, 2, 5, 22, etc.

Por ejemplo, en el caso de 22, significa vbDirectory (16) + vbSystem (4) + vbHidden (2).

Para obtener la configuración de atributos correspondiente a cada número, puede utilizar la siguiente función.

12345678910111213 Función GetAttributeSettings (atributo como VbFileAttribute) como cadenaDim strSettings como cadenastrSettings = ""If (attr And vbDirectory) = vbDirectory Entonces strSettings = strSettings & "& Directory"If (attr And vbVolume) = vbVolume Then strSettings = strSettings & "& Volumn"If (attr And vbAlias) = ​​vbAlias ​​Then strSettings = strSettings & "& Alias"If (attr And vbArchive) = vbArchive Then strSettings = strSettings & "& Archive"If (attr And vbHidden) = vbHidden Then strSettings = strSettings & "& Hidden"If (attr And vbReadOnly) = vbReadOnly Then strSettings = strSettings & "& ReadOnly"If (attr And vbSystem) = vbSystem Entonces strSettings = strSettings & "& System"GetAttributeSettings = Mid (strSettings, 2)Función final
1 MsgBox GetAttributeSettings (22)

Resultado: "Directorio, oculto y sistema"

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave