![]() |
|
![]() |
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
![]()
Hello to everyone,
I was wondering if there a way to set this issue. Cheers |
#2
|
||||
|
||||
![]()
You need to attach a sample document to demonstrate what your issue is. If it is a mail merge document then also post a sample data source.
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
#3
|
||||
|
||||
![]()
See, for example: https://www.msofficeforums.com/150021-post2.html
As for splitting the document, see See Split Merged Output to Separate Documents in the Mailmerge Tips and Tricks page: https://www.msofficeforums.com/mail-...ps-tricks.html
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#4
|
|||
|
|||
![]()
Hello again,
I need some help here, please. I've attached a sample letter and the pool from excel. I have to delete empty table rows - after mail merge - and split the letters into word and pdf. The pages per letter may vary and I want to have the headers and the footers after the split. I use the following code to split the letters into word and pdf but I haven't found a way to combine this code with the "Sub DeleteEmptyRows ()" Code:
Option Explicit Const FOLDER_SAVED As String = "destination folder" 'Makes sure your folder path ends with a backward slash Const SOURCE_FILE_PATH As String = "your pool's full path" Sub TestRun() Dim MainDoc As Document, TargetDoc As Document Dim dbPath As String Dim recordNumber As Long, totalRecord As Long Set MainDoc = ActiveDocument With MainDoc.MailMerge ' if you want to specify your data, insert a WHERE clause in the SQL statement .OpenDataSource Name=SOURCE_FILE_PATH, sqlstatement=SELECT FROM [Sheet1$] totalRecord = .DataSource.RecordCount For recordNumber = 1 To totalRecord With .DataSource .ActiveRecord = recordNumber .FirstRecord = recordNumber .LastRecord = recordNumber End With .Destination = wdSendToNewDocument .Execute False Set TargetDoc = ActiveDocument TargetDoc.SaveAs2 FOLDER_SAVED & .DataSource.DataFields(CID).Value & .docx, wdFormatDocumentDefault TargetDoc.ExportAsFixedFormat FOLDER_SAVED & .DataSource.DataFields(CID).Value & .pdf, exportformat=wdExportFormatPDF TargetDoc.Close False Set TargetDoc = Nothing Next recordNumber End With Set MainDoc = Nothing End Sub Any help would be just valuable |
#5
|
||||
|
||||
![]()
All you would need to do is change:
Sub DeleteEmptyRows() in the link to: Sub DeleteEmptyRows(TargetDoc As Document) and, in the same sub, change: ActiveDocument.Tables to: TargetDoc.Tables You can delete both 'Application.ScreenUpdating' rows from the 'DeleteEmptyRows' sub, too. Then, after the line: Set TargetDoc = ActiveDocument in your existing sub, insert: Call DeleteEmptyRows(TargetDoc)
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#6
|
|||
|
|||
![]()
That works perfectly.
Thank you very much Macropod!! |
![]() |
Thread Tools | |
Display Modes | |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
WJSwanepoel | Word Tables | 4 | 02-02-2021 10:33 PM |
![]() |
Naveen Dhanaraj | Word Tables | 10 | 03-06-2020 03:23 AM |
![]() |
FuriousD | Word VBA | 1 | 05-12-2019 04:06 AM |
![]() |
aaghd72 | Word VBA | 8 | 02-18-2019 11:22 AM |
![]() |
beginner | Excel Programming | 5 | 12-26-2014 12:29 AM |