none
Mala direta word - salvando documentos individuais RRS feed

  • Pergunta

  • Criei uma macro para salvar os arquivos de uma mala direta, mais ao salvar ele salva com o nome do primeiro da lista, mas ao abrir o arquivo fica errado o nome do arquivo e o nome do segundo da lista.

    Eu creio que o erro esteja na busca do registro, não estou conseguindo corrigir.

    As informações ele busca da planilha do excel.

    pode me ajudar?

    segue a macro:

    Sub salvamaladireta()
    Application.ScreenUpdating = False
    Dim qtde As Integer
    Dim nomeArquivo As String
    Dim registro As Integer
    Dim nomearquivoESTUDANTES As String


    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord

    qtde = ActiveDocument.MailMerge.DataSource.RecordCount

    For registro = 1 To qtde

    nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("ESTUDANTES").Value 
    nomearquivoESTUDANTES = ActiveDocument.MailMerge.DataSource.DataFields("ESTUDANTES").Value 

    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
            .LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
        End With
        .Execute Pause:=False
    End With
    ActiveDocument.SaveAs2 FileName:="C:\2019\modelo_word M10\Teste_alunos\ESTUDANTES - " & nomearquivoESTUDANTES & " - " & " " & nomearquivoESTUDANTES & ".docx", FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False, CompatibilityMode:=15
        
    ActiveWindow.Close
    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord

    Next registro

    Application.ScreenUpdating = True

    End Sub

    terça-feira, 2 de julho de 2019 17:56