Articles

VBA FileSystemObject (FSO)

Excel VBA FileSystemObject (FSO)

VBA FileSystemObject (FSO) funciona similar ao FileDialog, usado para obter acesso a outros arquivos do computador em que estamos trabalhando. Também podemos editar estes ficheiros significa ler ou escrever o ficheiro. Usando FSO podemos aceder a ficheiros, trabalhar com eles, modificar ficheiros e pastas. FSO é a importante ferramenta API que podemos acessar com VBA. Como parte do projeto VBA, podemos precisar acessar algumas pastas e arquivos em nosso computador para fazer o trabalho.

Podemos fazer muitas tarefas usando FSO como “verificar se a pasta está disponível ou não,” Criar uma nova pasta ou arquivos, renomear a pasta ou arquivos existentes, obter a lista de todos os arquivos na pasta, e também os nomes das subpasta. Finalmente, podemos copiar arquivos de um local para outro.

Even existem outras funções disponíveis para trabalhar com pastas e arquivos, FSO é o método mais fácil de trabalhar com pastas e arquivos mantendo o código VBA limpo e reto.

Podemos acessar quatro tipos de Objetos com FileSystemObject. Abaixo estão aqueles.

  1. Drive: Usando este objeto, podemos verificar se a unidade mencionada existe ou não. Podemos obter o caminho, tipo de propósito e tamanho da empresa.
  2. Folder: Este objeto nos permite verificar se a pasta em particular existe ou não. Podemos criar, apagar, modificar, copiar pastas usando este objeto.
  3. Arquivo: Este objeto nos permite verificar se o arquivo em particular existe ou não. Podemos criar, apagar, modificar, copiar arquivos usando este objeto VBA.
  4. Fluxo de texto: Este objecto permite-nos criar ou ler ficheiros de texto.

Todos os métodos acima referidos têm o seu método de trabalho. Baseado em nossos requisitos, podemos escolher o método de cada objeto.

Como ativar o FileSystemObject?

Não é facilmente acessível em VBA. Como acessar arquivos e pastas é a tarefa externa do excel, precisamos habilitar o FileSystemObject. Para incentivar, siga os passos abaixo.

Passo #1: Vá para Tools>References.

Passo #2 – Selecione a opção ‘Microsoft Scripting Runtime’

Scroll down e selecione a opção ‘Microsoft Scripting Runtime’. Após escolher as opções, clique em OK.

Agora podemos acessar o FileSystemObject (FSO) em VBA.

Criar uma Instância de FileSystemObject

Após a opção ‘Microsoft Scripting Runtime’ estar habilitada na biblioteca Objects, precisamos criar um File System Object (FSO) através de codificação.

Curso Popular nesta categoria

Treinamento VBA (3 Cursos, 12+ Projetos)
4.6 (247 classificações) 3 Cursos | 12 Projetos Práticos | 43+ Horas | Full Lifetime Access | Certificado de Conclusão
>

Para criar a instância, primeiro declare a variável como FileSystemObject.

Como podemos ver, FileSystemObject aparece na lista do IntelliSense em VBA. Isto não estaria disponível antes de ativarmos o ‘Microsoft Scripting Runtime’.’

Posto que FSO é um objeto, precisamos configurá-lo para criar uma nova instância.

Agora podemos acessar todas as opções de FSO(FileSystemObject).

Exemplos para usar VBA FileSystemObject

Pode baixar este VBA FileSystemObject Excel Template aqui – VBA FileSystemObject Excel Template

Exemplo #1 – Encontrar o Espaço Total do Drive

O código abaixo dará o espaço total do drive.

Código:

Sub FSO_Example1() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace As Double Set DriveName = MyFirstFSO.GetDrive("C:") 'Create new drive object DriveSpace = DriveName.FreeSpace 'This will get the free space of the drive "C" DriveSpace = DriveSpace / 1073741824 'This will convert the free space to GB DriveSpace = Round(DriveSpace, 2) 'Round the total space MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB"End Sub

Break Down of the Code.

Primeiro, criamos uma instância de FSO.

Dim MyFirstFSO As FileSystemObjectSet MyFirstFSO = New FileSystemObject

Próximo, declaramos duas variáveis.

Dim DriveName As DriveDim DriveSpace As Double

Since DriveName é uma variável Objeto, precisamos definir isso para FSO um dos métodos FSO. Como precisamos da característica do drive, usamos a opção Get Drive e mencionamos o nome do drive.

Set DriveName = MyFirstFSO.GetDrive("C:")

Para outra variável, DriveSpace, vamos atribuir o método de espaço livre do drive que estamos acessando.

DriveSpace = DriveName.FreeSpace

As de agora, a equação acima pode nos dar espaço livre do drive “C”. Então para mostrar o resultado em GB, dividimos o espaço livre por 1073741824

DriveSpace = DriveSpace / 1073741824

Próximo, vamos arredondar o número.

DriveSpace = Round(DriveSpace, 2)

Finalmente, mostrar o resultado em Message Box.

Quando executarmos o código manualmente ou através da tecla de atalho F5, então na caixa de mensagens, vamos obter o espaço livre do drive “C”.”

Então, no meu computador a Drive C tem 216,19 GB de memória de espaço livre.

Exemplo #2 – Verifique se a pasta existe ou não

Para verificar se a pasta em particular existe ou não, use o código abaixo.

Se a pasta mencionada estiver disponível, ela nos mostrará a caixa de mensagens como “A Pasta mencionada está disponível”. Se não, ele nos mostrará a caixa de mensagens VBA como “A Pasta Mencionada Não Está Disponível”,

Código:

Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:\Excel Files\VBA\VBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End IfEnd Sub

Executar este código através da tecla de atalho F5 do Excel ou manualmente, depois veja o resultado.

Exemplo #3 – Verifique se o arquivo existe ou não

O código abaixo irá verificar se o arquivo mencionado está disponível ou não.

Código:

Sub FSO_Example3() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FileExists("D:\Excel Files\VBA\VBA Files\Testing File.xlsm") Then MsgBox "The Mentioned File is Available" Else MsgBox "The Mentioned File is Not Available" End IfEnd Sub

Executar este código manualmente ou usando a tecla F5, então veja o resultado.

Artigos recomendados

Este tem sido um guia para o VBA FileSystemObject. Aqui aprendemos como usar o FileSystemObject (FSO) em VBA para acessar arquivos e pastas a partir do computador e exemplos práticos e um modelo Excel para download. Abaixo você pode encontrar alguns artigos úteis do excel VBA –

  • ME Keyword em VBA
  • StrComp Function em VBA
  • StrConv Função em VBA
  • VBA IIF
0 Acções

Treinamento em VBA (3 Cursos, 12+ Projectos)

  • 3 Cursos
  • 12 Projectos Práticos
  • 43+ Horas
  • Acesso a Tempo de Vida Completo
  • Certificado de Conclusão

APRENDA MAIS >

Deixe uma resposta

O seu endereço de email não será publicado.