View Single Post
 
Old 08-30-2017, 03:01 PM
vincenzo345 vincenzo345 is offline Windows 7 64bit Office 2016
Novice
 
Join Date: Aug 2017
Posts: 13
vincenzo345 is on a distinguished road
Default VBA mailmerge all but last row in datasource

Hello,

Im trying to perform a mail merge through VBA. A problem that I encouter is that my datasource has a CRLF (carriage return line feed) in the last row of the datasource. This causes a mailmerge error log to pop up and say "Record X Was an Empty Record". Ultimately im trying to get this separate sheet to either go away or only show up when there is a real error on a record. Im having difficulty finding a solution on skipping or even deleting the last row of the datasource. Ive tried messing with
Code:
ActiveDocument.MailMerge.DataSource.RecordCount
but I get a result of -1 which makes me feel like its kinda useless to me.

Here is what I have so far. Any help on how I can merge all but the last row or even delete the last row is appreciated.

Code:
 
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
    ActiveDocument.MailMerge.OpenDataSource Name:="FILEPATH", _
        ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, SubType:=wdMergeSubTypeOther
 
      With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
    End With
Reply With Quote