Notifications
Clear all

Macro procurar pasta de trabalho

4 Posts
1 Usuários
0 Reactions
1,614 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia pessoal,

Gostaria de resolver uma pequena dúvida.

Existe a possibilidade de um macro do Excel buscar uma pasta de trabalho em algum diretório específico do windows?

Por exemplo:
meu workbook é "TESTE.xls"

Ao executar o macro ele faz uma varredura em uma pasta X para ver se existe outro arquivo com esse nome... e o deleta..

Bom, o problema é que não é em uma pasta só, há subspastas também!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/12/2010 5:28 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Resolvido!

Obrigado!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 06/12/2010 5:59 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde lokaumz

Vc poderia postar aqui a solução da tua dúvida, pois certamente irá ajudar outras pessoas que estão com a mesma dúvida e acabam chegando a este tópico através dos sites de pesquisa.

Um abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 06/12/2010 11:42 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 
Private Sub Workbook_BeforeClose()

Dim linha, pasta, pasta1
Dim lngStart As Long
Dim lngEnd As Long
    

Application.DisplayAlerts = False

With Application.FileSearch

' Pasta em que irá procurar o arquivo. Dentro dela poderá haver quantas subpastas tiver.
.LookIn = "C:TESTE"

.FileType = msoFileTypeAllFiles
.SearchSubFolders = True
.Execute
End With

cnt = Application.FileSearch.FoundFiles.Count

For i = 1 To cnt

If Application.FileSearch.FoundFiles.Item(i) = (Left(Application.FileSearch.FoundFiles.Item(i), InStrRev(Application.FileSearch.FoundFiles.Item(i), "")) & Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1) & ".xls") Then

' Deleta o arquivo encontrado
Kill Application.FileSearch.FoundFiles.Item(i)

' Você pode colocar seu script aqui!

End If

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/12/2010 5:46 am