ExportAsFixedFormat von Word nutzen

11/04/2008 - 11:15 von Jürgen Dietze | Report spam
Excel 2007

Hallo zusammen,
die integrierte "speichern als pdf"-Funktion von Excel unterstützt leider
keine Lesezeichen, die spàter im pdf-Dokument auftauchen würden.
Die integrierte Funktion von Word kann dies sehr wohl (Überschift oder
textmarken).

Nun fülle ich von Excel aus ein Worddokument mit entsprechenden
Formatierungen und möchte dann die ExportAsFixedFormat-Methode von Word
nutzen. Das funkioniert aber nicht. Der Befehl wird - so scheint es -
schlicht nicht ausgeführt.

Muss ich mit Klassenmodulen oder Ähnlichem arbeiten? Die Wordobj-Variable
verweist doch auf Word. Daher müsste doch auch die Export-Methode von Word
angesprochen werden?

Ich habe die Codezeilen einmal angefügt. Vielleicht habt ihr eine Idee?
Gruß
Jürgen Dietze



Dim Wordobj As Object
Set Wordobj = CreateObject("Word.Application")
Wordobj.Visible = True
On Error Resume Next
Wordobj = Wordobj.Documents.Open("MeinDokument.docx")
wordobj.selection typetext blablabla.
Wordobj.ExportAsFixedFormat OutputFileName:= _
"C:\temp\MeinDokument.pdf", ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=True, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
IncludeDocProps:=False, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateHeadingBookmarks, DocStructureTags:=True, _'
BitmapMissingFonts:=True, UseISO19005_1:=False
 

Lesen sie die antworten

#1 stefan onken
11/04/2008 - 11:59 | Warnen spam
On 11 Apr., 11:15, Jürgen Dietze
wrote:
Excel 2007

Hallo zusammen,
die integrierte "speichern als pdf"-Funktion von Excel unterstützt leider
keine Lesezeichen, die spàter im pdf-Dokument auftauchen würden.
Die integrierte Funktion von Word kann dies sehr wohl (Überschift oder
textmarken).

Nun fülle ich von Excel aus ein Worddokument mit entsprechenden
Formatierungen und möchte dann die ExportAsFixedFormat-Methode von Word
nutzen. Das funkioniert aber nicht. Der Befehl wird - so scheint es -
schlicht nicht ausgeführt.

Muss ich mit Klassenmodulen oder Ähnlichem arbeiten? Die Wordobj-Variable
verweist doch auf Word. Daher müsste doch auch die Export-Methode von Word
angesprochen werden?

Ich habe die Codezeilen einmal angefügt. Vielleicht habt ihr eine Idee?
Gruß
Jürgen Dietze

Dim Wordobj As Object
Set Wordobj = CreateObject("Word.Application")
Wordobj.Visible = True
On Error Resume Next
Wordobj = Wordobj.Documents.Open("MeinDokument.docx")
wordobj.selection typetext blablabla.
Wordobj.ExportAsFixedFormat OutputFileName:= _
    "C:\temp\MeinDokument.pdf", ExportFormat:=wdExportFormatPDF, _
    OpenAfterExport:=True, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
    wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
    IncludeDocProps:=False, KeepIRM:=True, CreateBookmarks:= _
    wdExportCreateHeadingBookmarks, DocStructureTags:=True, _'    
BitmapMissingFonts:=True, UseISO19005_1:=False



hallo Jürgen,
du verwendest hier das sog. late binding. Excel kann in dem Fall
nichts mit Word-Variablen wie wdExportFormatPDF anfangen.
Du kannst dir aus Word den Inhalt der Variable holen (Direktfenster ?
wdExportFormatPDF) und diesen Inhalt (mesit eine Zahl) in den Code in
Excel übernehmen.
Oder du verwendest early binding, dh, du setzt einen Verweis auf das
MS Word-Objekt (Extras/Verweise Microsoft Word Object Library) und
ànderst den Code in
Dim appWord As Word.Application
Set appWord = New word.application

So ein Verweis kann aber wiederum Probleme bereiten hinsichtlich
Versionskompatibilitàt, http://www.online-excel.de/excel/si...vba.php?fA

Gruß
stefan

Ähnliche fragen