Ir ao conteúdo

Posts recomendados

Postado

@Edson Luiz Branco

preciso de ajuda.

Mesmo alterando as informações que indicam, o erro acima citado continua no meu.

Poderia me explicar quais as informações eu altero dentro do seu código para salvar minha mala direta já com os arquivos individuais gerados no word?

eu tenho mais de 1000 termos aditivos para salvar individualmente. Preciso muito da sua ajuda! 😞

 

algumas informações para auxiliar

 

Minha Pasta para salvamento: C:\Users\rosane.oliveira\Documents\termos aditivos

nome da coluna do excel para salvar como nome do arquivo de pdf individual: OBS

numero e letra da coluna (arquivo de excel q usei para gerar mala direta no word) que contem as informações para renomear os arquivos: Q2

tipo de arquivo desejado a ser salvo: PDF

primeira letra ou palavra de cada página:  ESTADO

Postado

Bom dia, @rosanezane!

 

Pra facilitar, anexe seus 2 arquivos com uma amostra dos exemplos, digamos uns 10 registros, de como está sua base de dados (Excel) e o documento inicial/principal da M.D. (Word). Se necessário, elimine ou distorça informações confidenciais.

Como sua demanda é semelhante à do colega @wesley.elias  acima (e outras) que também me contatou via Linkedin, vou ver ambos os tópicos neste fim de semana. 

 

Obs.: colegas, por falta de tempo tenho contribuído com os fóruns menos do que o desejado... vão desculpando aí...

  • Curtir 1
Postado
Em 25/04/2022 às 19:18, wesley.elias disse:

 

 

Prezados estou usando o código abaixo, mas preciso que os arquivos sejam salvos com o campo "Nome" que tem na mala direta. Esse campo refere-se ao nome de cada pessoa da mala direta. alguém pode me ajudar?

 

Sub SaveAsSeparatePDFs()
'Updated by Extendoffice 20180906
Dim I As Long
Dim xStr As String
Dim xPathStr As Variant
Dim xDictoryStr As String
Dim xFileDlg As FileDialog
Dim xStartPage, xEndPage As Long
Dim xStartPageStr, xEndPageStr As String
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFileDlg.Show <> -1 Then
MsgBox "Please chose a valid directory", vbInformation, "Kutools for Word"
Exit Sub
End If
xPathStr = xFileDlg.SelectedItems(1)
xStartPageStr = InputBox("Begin saving PDFs starting with page __? " & vbNewLine & "(ex: 1)", "Kutools for Word")
xEndPageStr = InputBox("Save PDFs until page __?" & vbNewLine & "(ex: 7)", "Kutools for Word")
If Not (IsNumeric(xStartPageStr) And IsNumeric(xEndPageStr)) Then
MsgBox "The enterng start page and end page should be number format", vbInformation, "Kutools for Word"
Exit Sub
End If
xStartPage = CInt(xStartPageStr)
xEndPage = CInt(xEndPageStr)
If xStartPage > xEndPage Then
MsgBox "The start page number can't be larger than end page", vbInformation, "Kutools for Word"
Exit Sub
End If
If xEndPage > ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) Then
xEndPage = ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)
End If
For I = xStartPage To xEndPage
ActiveDocument.ExportAsFixedFormat xPathStr & "\Page_" & I & ".pdf", _
wdExportFormatPDF, False, wdExportOptimizeForPrint, wdExportFromTo, I, I, wdExportDocumentWithMarkup, _
False, False, wdExportCreateHeadingBookmarks, True, False, False
Next
End Sub

Esse seu código joga todos os documentos em um único arquivo de word e depois separa eles por páginas. Isso não é necessário.

Use este código:

    Dim inicio As Integer
    Dim final As Integer
    Dim caminho As String
    Dim i As Integer
    
    caminho = InputBox("Escreva o caminho da pasta onde deseja salvar")
    inicio = InputBox("Insira o número do primeiro registro a salvar")
    final = InputBox("Insira o número do último registro a salvar")
    

           
    ActiveDocument.MailMerge.DataSource.ActiveRecord = inicio
     
    For i = inicio To final
     ActiveDocument.ExportAsFixedFormat OutputFileName:=caminho & "\" & ActiveDocument.MailMerge.DataSource.DataFields("Nome").Value, _
                                      ExportFormat:=wdExportFormatPDF, _
                                      Range:=wdExportAllDocument
     
     ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
     Next i
    
    MsgBox "Arquivos exportados com sucesso!"

 

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...