none
VBA - Salvando o documento com dado de coluna do Excel RRS feed

  • Pergunta

  • Olá amigos, bom dia! Preciso da ajuda de vocês!

    Fiz uma mala direta no word e criei um código VBA que para cada registro rodado ele gera um documento.PDF numa determinada pasta na rede. O código consta com uma variável incremental, ex. doc1.pdf ... doc2.pdf e ai vai.

    Ocorre que quero já renomear o documento com um dado que está na planilha, exemplo "Coluna CPF".

    Existe como no código VBA eu utilizar algum dado da mala direta para já renomear o arquivo?

    Segue o código:

    Sub SalvarComoPDF()

    Dim a As Integer
    Dim registro As Integer

    'Set Mail Merge in the first register
    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord

    'Mail Merge Count
    a = ActiveDocument.MailMerge.DataSource.RecordCount

    'For to exportToPDF all registers
    For registro = 1 To a

        ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            "P:\ADMTI\Remessas\" & registro & ".pdf" _
            , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False
        
        ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
                
        Next registro
            
        End
                
    End Sub


    quarta-feira, 12 de julho de 2017 15:29

Todas as Respostas

  • Consegui.

    Segue para quem tiver a mesma necessidade.

    Dim nomeArquivo As String

    nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("CPF").Value

    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            "P:\ADMTI\Remessas\" & "\" & nomeArquivo & ".pdf" _
            , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False

    quarta-feira, 12 de julho de 2017 17:37