Views

Histats

Vitrine

VBA - Deletando arquivos - Deletando pastas - Deletando Diretórios - Delete via Vba

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 'See above

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 "Descupe-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

Referências: MSDN

Tag: André Luiz Bernardes, MS, Microsoft, MS Office, MS Office 2007, MS Office 2010, Excel, Access, Word, Powerpoint, Sharepoint, Delete files, delete, files, deletando, apagando arquivos, arquivo, exclusão, excluir arquivo, archive, kill, scrrun.dll, FSO, file system object, MSDN, tektips, stackoverflow


André Luiz Bernardes
A&A® - Work smart, not hard.

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...