A função `FileAttr` em VBA é usada para obter informações sobre o modo de acesso de um arquivo que foi aberto usando a instrução `Open`. Ela permite que você descubra se um arquivo foi aberto para leitura, gravação ou ambos, ou se está sendo acessado de maneira binária. A função retorna um valor inteiro, identificando o modo de acesso do arquivo.
Aqui está a sintaxe básica da função `FileAttr`:
FileAttr(filenumber, attributetype)
- `filenumber`: é um valor inteiro que especifica o número atribuído ao arquivo quando ele foi aberto com a instrução `Open`.
- `attributetype`: é um valor inteiro que especifica o tipo de atributo que você deseja obter. Atualmente, você pode usar a constante `1` para obter o modo de acesso do arquivo.
Os valores de retorno possíveis para o modo de acesso são:
- `1`: Modo de entrada (Input)
- `2`: Modo de saída (Output)
- `4`: Modo de leitura/gravação (Random) ou modo binário (Binary)
- `8`: Modo de anexo (Append)
Aqui está um exemplo de como usar a função `FileAttr`:
Sub ExemploFileAttr()
Dim filenum As Integer
Dim modoAcesso As Integer
Dim caminhoArquivo As String
caminhoArquivo = "C:caminhoparaseuarquivo.txt"
' Abre o arquivo para entrada
filenum = FreeFile
Open caminhoArquivo For Input As #filenum
' Obtém o modo de acesso do arquivo
modoAcesso = FileAttr(filenum, 1)
' Exibe o modo de acesso
Select Case modoAcesso
Case 1
MsgBox "O arquivo está aberto no modo de Entrada."
Case 2
MsgBox "O arquivo está aberto no modo de Saída."
Case 4
MsgBox "O arquivo está aberto no modo de Leitura/Gravação ou Binário."
Case 8
MsgBox "O arquivo está aberto no modo de Anexo."
Case Else
MsgBox "Modo desconhecido."
End Select
' Fecha o arquivo
Close filenum
End Sub
Esse exemplo abre um arquivo texto em modo de entrada, determina o modo de acesso usando `FileAttr`, e exibe uma mensagem indicando em qual modo o arquivo foi aberto. Não se esqueça de substituir `caminhoArquivo` pelo caminho correto de seu arquivo para testar o código.