![]() |
|
#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 Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
0 showing in address when mail merging
|
Shazz | Mail Merge | 2 | 03-11-2016 01:54 AM |
Merging, but not with mail
|
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 |
Gaps in address mail merging
|
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 |