Ir ao conteúdo
  • Cadastre-se

Excel VBA - Executar SE atender a condição...


Posts recomendados

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


 

 

Link para o post
Compartilhar em outros sites
17 horas atrás, Igor Silva do Nascimento disse:

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.

Seu código move o arquivo com base nas células D3 (origem) e D4 (destino). Para usar D5 modifique a atribuição da variável.

Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Redes-Wi-Fi-capa-3d-newsletter.png

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!