Como deletar um arquivo usando vba no excel?

Para excluir um arquivo Excel de uma pasta, você pode usar dois métodos diferentes. O primeiro método é a instrução “Kill”, que usa o caminho do arquivo para fazer referência ao arquivo que você deseja excluir. O segundo método é o objeto FileSystemObject que possui um método associado para excluir um arquivo.

Para usar esses códigos, acesse o VBE (Editor de Código) na aba do desenvolvedor.

Exclua um arquivo usando VBA (função Kill)

O recurso Kill ajuda a excluir um único arquivo ou vários arquivos e usar curingas para excluir vários arquivos. Abaixo está o código de uma linha que exclui o arquivo da pasta que tenho na área de trabalho.

 Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
exclua um arquivo usando a função vba kill

Este código mostrará um erro se a pasta de trabalho que você especificou para excluir não existir.

Links úteis: Executar uma macroGravador de macroEditor Visual BasicManual pessoal de macros

Exclua todos os arquivos de uma pasta usando VBA

E se quiser excluir todos os arquivos que você possui em uma pasta, você pode usar um curinga.

 Kill "C:UsersDellDesktopSample Data*.xl*"
exclua todos os arquivos em uma pasta usando vba

Exclua um arquivo usando FileSystemObject (Object)

O objeto do sistema de arquivos permite acessar o sistema de arquivos do computador. Você pode aprender mais aqui, mas agora vamos escrever um código para excluir um arquivo.

  • Primeiro, você precisa declarar as variáveis a serem usadas no código como Binder e FileSystemObject.
    delete a file using the file system object
  • Depois disso, use a função create object para retornar o FileSystemObject atribuindo-o à variável FSO.
    create object function
  • Em seguida, atribua o caminho à variável “myFile” para navegar até o arquivo que deseja excluir.
    assign the path to the myfile
  • Ao final, use o método “DeleteFile” (veja isto) para deletar o arquivo.
    use the delete file method

Código completo

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" FSO.DeleteFile myFile, True End Sub

Digamos que você precise escrever algum código que possa verificar um arquivo (existe ou não) e depois excluí-lo. Aqui está o código que você precisa.

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" If FSO.FileExists(myFile) Then FSO.DeleteFile myFile, True MsgBox "Deleted" Else MsgBox "There's no workbook with this name." End If End Sub

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *