Máme makro, v našem word dokument, který exportuje PDF pro každý záznam v hromadné korespondenci. Při vytváření doc, word vždy přidá prázdnou stránku, tak jsme museli najít způsob, jak odstranit poslední stránku (blank). Přidali jsme .Range(Lr - 1, TargetDoc.Range.End).Delete
linku, a to funguje perfektně, ale pouze v aplikaci Word > 2007 - když jsme se snažili, spuštění makra v aplikaci Word 2007, to řekl :
Option Explicit
Const FOLDER_SAVED As String = "F:\Postcard\" '//Makes sure your folder path ends with a backward slash
Const SOURCE_FILE_PATH As String = "G:\Laptop Data\GoaRegion.xlsm"
Sub TestRun()
Dim MainDoc As Document, TargetDoc As Document
Dim dbPath As String
Dim recordNumber As Long, totalRecord As Long
Dim Lr 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 [Goa$]"
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
With TargetDoc
Lr = .GoTo(wdGoToPage, wdGoToLast).Start
.Range(Lr - 1, TargetDoc.Range.End).Delete
End With
TargetDoc.ExportAsFixedFormat FOLDER_SAVED & .DataSource.DataFields("Voter").Value & ".pdf", exportformat:=wdExportFormatPDF
TargetDoc.Close False
Set TargetDoc = Nothing
Next recordNumber
End With
Set MainDoc = Nothing
End Sub
Je tam něco špatně? Dělá Word 2007 nepodporuje line .Range(Lr - 1, TargetDoc.Range.End).Delete
? Laskavě průvodce... Díky!!!