Turma, estou quebrando a cabeça com algo básico, mas que não está funcionando.
Preciso executar uma função SE o arquivo não existir no caminho (variável $D$5), mas caso exista, o arquivo não deve mover.
Obrigado desde já!
Segue o código que preciso da ajuda:
Dim INDICE_DOC As String
Dim Antigo As String
Dim Documento As String
Dim fso
Dim strOrigem As String
Dim strDestino As String
Dim arquivo As String, cont As Integer, nome As String, extensao As String
'Caminho de Origem (Com arquivo no nome)
strOrigem = Range("D3").Value
arquivo = Mid(strOrigem, InStrRev(strOrigem, "\") + 1)
'Caminho de Destino (Terminando com barra)
strDestino = Range("D4").Value
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
'Verifica se os caminhos existem
If Not fso.FileExists(strOrigem) Then
MsgBox strOrigem & " Caminho inválido para o arquivo de origem.", vbInformation, "Erro"
ElseIf Not fso.FolderExists(strDestino) Then
MsgBox strDestino & " Caminho inválido para a pasta de destino.", vbInformation, "Erro"
ElseIf Not fso.FileExists(strDestino & arquivo) Then
fso.MoveFile (strOrigem), strDestino
Else
cont = InStrRev(arquivo, ".")
nome = Left(arquivo, cont - 1)
extensao = Mid(arquivo, cont + 1)
cont = 2
Do While fso.FileExists(strDestino & nome & " (" & cont & ")." & extensao)
cont = cont + 1
Loop
fso.MoveFile (strOrigem), strDestino & nome & " (" & cont & ")." & extensao
End If
If Err.Number = 53 Then MsgBox "Ficheiros não encontrados..."
Set fso = Nothing
'New - Fecha o formulário
Unload Me
'Abre o formulário
INDICE_DOCUMENTO.Show
End Sub