Veja também:
MS Excel – Diversas Funções Úteis
É bem provável que já tenha precisado de algo similar no MS Excel, mas não teve a oportunidade de encontrar essa informação de modo organizado, como estou propondo colocar abaixo. Ao gerarmos os nossos diversos Relatórios, inclusive Dashboards, invariavelmente precisaremos gravar as versões em pastas.
Digamos que deseje gravar as informações geradas nas pastas customizadas, talvez com a data do momento da geração. Precisaríamos criar uma pasta para a transferência dos mesmos.
É importante frisar que não há como recuperar o arquivo excluído uma vez que o tenhamos deletado. O arquivo não é enviado para a lixeira do Windows.
Em qualquer um dos códigos listados neste artigo, ao executar um código VBA que inclua a instrução Kill, o código poderá excluir todos os arquivos armazenados em uma pasta ou em um servidor de rede.
Sub DelSample001()
' Você pode usar este código para apagar todos os arquivos na pasta de teste.
On Error Resume NextKill "E:\Bernardes\Dashboards\*.*"On Error GoTo 0End SubSub DelSample002()' Você pode usar este código para apagar todos os arquivos xl? na pasta de teste.On Error Resume NextKill "E:\Bernardes\Dashboards\*.xl*"On Error GoTo 0End SubSub DelSample003()' Você pode usar este código para apagar um arquivo xls na pasta de teste.On Error Resume NextKill "E:\Bernardes\Dashboards\ron.xls"On Error GoTo 0End SubSub DelSample004()' Você pode usar este código para apagar a pasta inteira.
' Note: RmDir delete only a empty folderOn Error Resume NextKill "E:\Bernardes\Dashboards\*.*" ' delete all files in the folderRmDir "E:\Bernardes\Dashboards\" ' delete folderOn Error GoTo 0End SubSub Delete_Whole_Folder()' Você pode usar este código para apagar a pasta inteira sem remover os 1ºs arquivos como na função DelSample004.Dim FSO As ObjectDim MyPath As StringSet FSO = CreateObject("scripting.filesystemobject")MyPath = "C:\Users\Ron\Test" '<< ChangeIf Right(MyPath, 1) = "\" ThenMyPath = Left(MyPath, Len(MyPath) - 1)End IfIf FSO.FolderExists(MyPath) = False ThenMsgBox MyPath & " não existe."Exit SubEnd IfFSO.deletefolder MyPathEnd SubSub Clear_All_Files_And_SubFolders_In_Folder()' Apaga todos os arquivos nas subpastas.' Certifique-se de que não haja nenhum arquivo aberto na pasta.Dim FSO As ObjectDim MyPath As StringSet FSO = CreateObject("scripting.filesystemobject")MyPath = "E:\Bernardes\Dashboards\Test" '<< ChangeIf Right(MyPath, 1) = "\" ThenMyPath = Left(MyPath, Len(MyPath) - 1)End IfIf FSO.FolderExists(MyPath) = False ThenMsgBox MyPath & " não existe."Exit SubEnd IfOn Error Resume Next' Apaga os arquivos.FSO.deletefile MyPath & "\*.*", True' Apaga as pastas.FSO.deletefolder MyPath & "\*.*", TrueOn Error GoTo 0End Sub
Para impedir que os arquivos sejam excluídos pela instrução Kill, certifique-se de que as declarações de Kill sempre refiram-se a um caminho válido e a um nome de arquivo válido. Os exemplos a seguir demonstram a sintaxe que devemos utilizar:
Kill "\\server\share\myfiles\*.old"Kill "E:\myfiles\*.old"Dim FileList As StringFileList = "*.old"Kill "\\server\share\myfiles\" & FileListDim FileList As String, NetPath As StringNetPath = "\\server\share\myfiles\"FileList = "*.old"Kill NetPath & FileList
Esses são usos válidos da instrução Kill.
Tags: VBA, Tips, Ron de Bruin, delete, files, file, folder, kill
Nenhum comentário:
Postar um comentário