Notifications
Clear all

Verificar existência de arquivo da pasta

3 Posts
3 Usuários
0 Reactions
1,018 Visualizações
(@everson-m)
Posts: 4
New Member
Topic starter
 

Prezados,

Estou criando uma planilha de controle no Excel, que realiza a seguinte consulta: verifica a existência de um determinado arquivo numa pasta. Caso encontre grava o nome "OK" na célula correspondente e "PENDENTE" caso não encontre.

Na planilha temos vários clientes:

CLIENTE SITUAÇÃO
EMPRESA A
EMPRESA B
EMPRESA C
EMPRESA D
EMPRESA E
EMPRESA F
EMPRESA G
EMPRESA H
EMPRESA J
(...)

Preciso que uma macro faça a busca se o arquivo "TESTE" existe na pasta do cliente. Sendo que cada cliente possui uma pasta formada pela nome da empresa + uma subpasta com o ano, conforme abaixo:

C:TESTECLIENTESEMPRESA A2016
C:TESTECLIENTESEMPRESA B2016
C:TESTECLIENTESEMPRESA C2016
C:TESTECLIENTESEMPRESA D2016

Fiz uma macro só que ela não percorre a planilha e se limitar a apenas a uma unica célula.

 
Postado : 02/05/2016 9:49 am
(@adgere)
Posts: 76
Trusted Member
 

Teste assim

Sub Verifica_Arquivo()

Dim strPath As String
Dim l       As Integer

l = 1

Do
    l = l + 1
    If Cells(l, 1).Value = "" Then Exit Do

    'Arquivo que verificaremos
    strPath = "C:TESTECLIENTES" & Cells(l, 1).Text & "2016TESTE.txt"
    If Dir(strPath) = vbNullString Then
       strCheck = False
    Else
       strCheck = True
    End If

    If strCheck Then

        Mensagem = MsgBox("O arquivo: ‘" & strPath & "‘ foi encontrado!", vbInformation)
        'Bloco de ação da Rotina caso o arquivo exista.
         
        Cells(l, 2).Value = "OK"

    Else

        Mensagem = MsgBox("O arquivo: ‘" & strPath & "‘ não foi encontrado!", vbCritical)
        'Bloco de ação da Rotina caso o arquivo não exista.

        Cells(l, 2).Value = "PENDENTE"

    End If

Loop

End Sub
 
Postado : 02/05/2016 2:50 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

Experimente :

Sub ProcuraArquivo()

Dim strPath As Variant, emp As Range
For Each emp In Range("A2:A" & Cells(Rows.Count, 1).End(3).Row)
'Arquivo que verificaremos
strPath = "C:TESTECLIENTES" & emp.Value & "2016TESTE.txt"
If Dir(strPath) = vbNullString Then
strCheck = False
Else
strCheck = True
End If
If strCheck Then

Mensagem = MsgBox("O arquivo: ‘" & strPath & "‘ foi encontrado!", vbInformation)
'Bloco de ação da Rotina caso o arquivo exista.
         
emp.Offset(, 1).Value = "OK"

Else

Mensagem = MsgBox("O arquivo: ‘" & strPath & "‘ não foi encontrado!", vbCritical)
'Bloco de ação da Rotina caso o arquivo não exista.

emp.Offset(, 1).Value = "PENDENTE"

End If
Next emp

End Sub

Osvaldo

 
Postado : 02/05/2016 2:50 pm