Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou fazendo um aplicativo com VB6 e tendo um problema na hora de apagar arquivos.
É o seguinte: eu crio uma pasta, crio alguns arquivos, e copio um outro arquivo para essa pasta. Este arquivo que copiei vem como "Somente leitura". Ao terminar minha operação, quero apagar todos os arquivos e pastas, mas este arquivo que copiei dá erro de "Permission Denied". Como posso mudar suas permissões ou forçar que seja apagado?
Estou usando a rotina abaixo para apagar:
Private Sub ApagarPasta(objFS As Object, Pasta As String) Dim objFolder As Variant Dim objFiles As Variant Dim objFile As Variant For Each objFolder In objFS.GetFolder(Pasta).SubFolders 'Pastas de periodos Set objFiles = objFolder.Files For Each objFile In objFiles m_objFS.DeleteFile objFile Next ApagarPasta objFS, CStr(objFolder) objFS.deletefolder objFolder DoEvents NextEnd Sub
Agradeço toda ajuda!
Olá solo,
Na minha rotina, passo o caminho completo da pasta como parâmetro, pego cada arquivo dela individualmente e o apago, para depois apagar a pasta. Os caminhos estão vindo ok.
O erro acontece nesse arquivo específico, na linha
m_objFS.DeleteFile objFile
dá permission denied
Agradeço pela atenção
Pode ser por causa do atributo "Somente Leitura".Tenta mudá-lo via fso usando a propriedade Attributes.Dá uma olhada nas constantes do FileAttribute para ver o valor dos atributos.
descobri que tem um parametro pra forçar apagar quando é somente leitura. Ficou assim:
Private Sub ApagarPasta(objFS As Object, Pasta As String) Dim objFolder As Variant Dim objFiles As Variant Dim objFile As Variant For Each objFolder In objFS.GetFolder(Pasta).SubFolders 'Pastas de periodos Set objFiles = objFolder.Files For Each objFile In objFiles m_objFS.DeleteFile objFile, [b]true[/b] Next ApagarPasta objFS, CStr(objFolder) objFS.deletefolder objFolder, [b]true[/b] DoEvents NextEnd Sub
Olá amigo, nao sei mas voce nao tem que receber o caminho do arquivo para poder apagar ele? Éu uma vez precisei fazer isso e estava faltando receber o cominho por algum parametro.