Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

VBA - Deletando Arquivos, Pastas e Diretórios

VBA - Deletando Arquivos, Pastas e Diretórios

Delete Files Via Vba
Delete Text File
Delete a folder and all subfolders and files
Delete files in a folder VBA
Deleting a file in VBA
How remove file
How to delete files using VBA
How to use VBA to delete files
I need to copy, rename and delete files in a folder
Macro to delete all files
Move and Delete files and folders
Remove Files

Já tentou apagar um arquivo externo a sua aplicação? Talvez uma planilha ou um arquivo texto?

Pense, como posso excluir um arquivo?

- Olhe para isto: "Poderia basicamente usar o comando Kill, mas um programador preocupado precisa permitir a possibilidade de existir um arquivo que está sendo usado somente como leitura, eis a função para você:

DeleteFile ("Bernardes_Dashboard_Results.txt")

 

Sub DeleteFile (ByVal FileToDelete As String)

 

If FileExists (FileToDelete) Then

 

SetAttr FileToDelete, vbNormal

 

Kill FileToDelete

 

End If

 

End Sub


Não se esqueça da função que checa a existência do arquivo:

Function FileExists(ByVal FileToTest As String) As Boolean
Let FileExists = (Dir(FileToTest) <> "")
End Function

 

Ahhh, você pode definir uma referência para a biblioteca Scripting.Runtime e depois usar o FileSystemObject, este tem dois métodos DeleteFile e FileExists.

Não vou esconder que temos outras opções:

Let nTest = Dir (filename)

 

If not nTest="" then

 

Kill (Filename)

 

end if


O código a seguir pode ser usado para testar a existência de um arquivo, e depois excluí-lo:

Dim aFile As String

 

Let nFile = "c:\Bernardes_Dashboard_Results.txt"

 

If Len (Dir$(nFile)) > 0 Then

 

Kill nFile

 

End If

Estava me segurando, mas preciso avisar-lhe quanto a não permitir que o código retorne uma mensagem de erro do tipo "Desculpe-me, mas não existe nenhum código para apagar", então coloque também algo como o mostrado abaixo:

On Error Resume Next
Kill "
c:\Bernardes_Dashboard_Results.txt
"

 

On Error Goto 0
Return Len(Dir$(aFile)) > 0


As opções não param. Aqui está um método simples de apagar uma pasta e todos os arquivos e subpastas. Ele usa o File System Object (objeto sistema de arquivos).
Para usá-lo, você terá que definir uma referência para o Microsoft Scripting Runtime geralmente encontrada em C:\WINDOWS\system32\scrrun.dll.

Sub DeleteAllFolders(FolderPath As String)
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
On Error Resume Next
fso.DeleteFolder (FolderPath)
Set fso = Nothing
End Sub

 

O método fso.DeleteFolder não pode retirar a barra à direita ("\") do path, por isso precisamos removê-la quando aparecer.

Function CorrectPath(FolderPath As String) As String

 

Let FolderPath = Trim(FolderPath)

 

If Right(FolderPath, 1) = "\" Then
Let CorrectPath = Left(FolderPath, Len(FolderPath) - 1)
Else
Let CorrectPath = FolderPath
End If

 

End Function

 

Compartilhe este artigo!  

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine