![]() |
#1
|
|||
|
|||
![]()
I have been playing around with codes but I cannot figure out myself how to do this properly.
I have large databases and letter templates in which I normally would use the Finish & Merge button to merge these documents into a pdf within increments - For example; If my database contained 3000 records I would split the records to be saved from records 1-1000 until I reach the end. I would greatly appreciate if anybody could help me with what to do? I would need a code to cycle through a loop and save the records as pdfs but in increments of a variable. this was the code when I recorded a macro: Code:
Sub test2() ' ' test2 Macro ' With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = 1 .lastRecord = .FirstRecord + 15 End With .Execute Pause:=False End With ActiveDocument.ExportAsFixedFormat OutputFileName:= _ "1-15 test.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 ChangeFileOpenDirectory _ "filedirectory" Windows("filename.doc").Activate With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = 15 .lastRecord = .FirstRecord + 15 End With .Execute Pause:=False End With ActiveDocument.ExportAsFixedFormat OutputFileName:= _ "15-29 records.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 ChangeFileOpenDirectory _ "file directory" Windows("file.doc").Activate End Sub Option Explicit I have been using it with other code I found on this forum so I am unsure how to put this into a loop? ![]() If anyone knows of a way to do this or any tips/code I could work off of, I would be eternally grateful ![]() Last edited by vbaformailmerge; 05-31-2019 at 02:18 AM. |
Tags |
loop, mail merge, vba |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
Shazz | Mail Merge | 2 | 03-11-2016 01:54 AM |
![]() |
ksims3 | Word | 1 | 07-29-2014 08:27 PM |
How would you go about mail merging this set of data | willsonfang | Mail Merge | 1 | 09-29-2013 07:16 PM |
![]() |
Trixz_D | Mail Merge | 2 | 08-05-2012 04:23 AM |
Mail Merging more than 1 line of data ?? | Keith24249 | Mail Merge | 0 | 10-16-2009 06:36 AM |