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"