Página 1 de 1

Renomear arquivo através do VBA

Enviado: 19 Mar 2020 às 15:44
por patrikpandolfi
Olá pessoal. Preciso de uma ajuda. Uso um código VBA que exporta dados de uma planilha para formato PDF. As vezes o nome do arquivo PDF fica igual, substituindo o arquivo anterior na pasta de destino. Como faço pro excel identificar isso e renomear automaticamente o nome do arquivo?

Obrigado

Re: Renomear arquivo através do VBA

Enviado: 19 Mar 2020 às 16:48
por Basole
Experimente algo assim...
Código: Selecionar todos
 ' Substitua o caminho d o nme do arquivo PDf de cacordo com seus dados:
pathFile = "c:\users\user\Documents\NOME_DO_ARQUIVO_PDF"
ext = ".pdf"
tmp = pathFile

Do While FileChecker(tmp, ext)
    c = c + 1
    tmp = pathFile & " (" & VBA.Format(c, "00") & ")"
Loop
          
     ActiveSheet.ExportAsFixedFormat _
                                    Type:=xlTypePDF, _
                                    FileName:=tmp & ext, _
                                    Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, _
                                    IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=False
Abaixo a funcao que verifica se o arquivo com o mesmo nome ja existe:
Código: Selecionar todos
Function FileChecker(FileName, ext) As Boolean
    Dim Fso As Object
    Dim Temp As String
    Set Fso = VBA.CreateObject("Scripting.FileSystemObject")
    Temp = FileName & ext
    If Fso.FileExists(Temp) Then FileChecker = True
End Function


Re: Renomear arquivo através do VBA

Enviado: 19 Mar 2020 às 17:12
por patrikpandolfi
Pensei numa alternativa aqui também...e se o excel adicionar ,no nome do arquivo pdf, o horario daquele exato momento.
Resolveria o problema de arquivos com nome iguais.
Alguém sabe como fazer isso?