Chyba 4608 : hodnota mimo rozsah chyba v MS Word VBA (pouze v aplikaci word 2007)

0

Otázka

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 :

enter image description here


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!!!

ms-word vba
2021-11-20 11:00:46
1

Nejlepší odpověď

0

Zkuste toto:

If Not Application.Version = "12.0" Then
    With TargetDoc
        Lr = .GoTo(wdGoToPage, wdGoToLast).Start
        .Range(Lr - 1, TargetDoc.Range.End).Delete
    End With
End If
2021-11-21 12:54:28

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................