Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1768to1772
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aus Excel via VBA PDF in Word einfügen

Aus Excel via VBA PDF in Word einfügen
12.07.2020 17:09:00
Carsten M.

Hallo zusammen,
erst einmal ein großes Lob an die Herber-Gemeinde. Dank euch bin ich innerhalb von 1 Jahr relativ fit in VBA-Programmierung geworden, praktisch von Null aus.
Habe folgendes Wehwehchen:
Für die Arbeit habe ich ein Deckblatt-Tool erstellt. Dieses füllt automatisch ein Deckblatt mit Attributen (Dokumentennummer, Revision, Ersteller, Datum, Titel usw.), macht eine PDF draus und fügt Sie als Seite 1 dem entsprechenden Dokument zu. Es dient dazu technische Doku im Anlagenbau zu ergänzen. Dort gibt es aber auch immer Excel-Listen (z.b. Armaturenlisten). Denen von Excel zu Excel ein Deckblatt zu verpassen ist nicht das Problem, die Probleme kommen erst bei bei Word-Dokumenten.
Ich kann nicht einfach die Exceltabelle in Word integrieren, da er mir die Formatierung zerschießt. So ein Musterdeckblatt in der Excel ist genau auf eine A4-Seite ausgerichtet. Ich habe gesehen, dass ich in Word aber händisch eine PDF einfügen kann. Dann muss ich noch zwei-dreimal Enter drücken, damit das Deckblatt auf Seite 1 ist und das eigentliche Dokument erst ab Seite 2 beginnt, aber dann ist es perfekt. Kein Ärger mit der Tabelle, weil es wie eine Grafik integriert ist. Das geht über Einfügen--Objekte.
Nun die Frage: Wie kriege ich es hin, dass ich aus der Excel-VBA-Routine heraus das Worddokument aufrufe und die PDF in das Dokument einfüge, einschl. der Tatsache, dass das Deckblatt Seite 1 ist und das technische Dokument von Seite2 (bis x Seiten) beginnt . Worddokument soll Word bleiben. Wir verändern Inhalt und Format der Dokumente nicht (außer ein Deckblatt davor). Kann euch leider kein Musterdeckblatt schicken aber in Ansicht--Umbruchvorschau ist es eine A4-Seite.
Word-Datei heißt Test.docx
PDF heißt Test 1.pdf
Excel heißt Test 1.xlsm
PDFPrg ist PDF 24 (geht kein Weg dran vorbei)
Öffnen kann ich die Word bereits
Pfad = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.docx"
Dim WdApp As Object
Dim wdDok As Object
Set WdApp = CreateObject("Word.Application")
Set wdDok = WdApp.documents.Open(Filename:=Pfad, ReadOnly:=True)
WdApp.Visible = True
WdApp.Activate
Das Einfügen mit Makrorekorder in Word zeigt das:
Selection.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.DC", _
FileName:="", LinkToFile:=False, DisplayAsIcon:=False
Selection.TypeParagraph
Selection.TypeParagraph
Die letzen 2 Zeilen sind wohl das Enter-Drücken um den eigentlichen Text auf Seite 2 zu bekommen. Da darf er sich nicht vertun. Nicht dass ich eine Bedienungsanleitung zerschieße weil die Zeilen verrutschen.
Ich krieg die zwei Abschnitte einfach nicht zusammen.
Hoffe ihr könnt mir helfen. Danke und Gruß, und bleibt Gesund!
Carsten

Betrifft: AW: Aus Excel via VBA PDF in Word einfügen

Hi Carsten,
Kann euch leider kein Musterdeckblatt schicken
a) wieso nicht? Erstell doch eine Bsp-Excel-Datei, aus der eben das gewünschte PDF-Deckblatt erzeugt wird.
Anstelle der Original-Daten musst du natürlich Bsp-Daten verwenden
b) eine Bsp-Word-Datei mit x Seiten wäre auch schön, da wir doch gar nicht wissen, wie eure Word-Dateien aussehen
c) wenn a) + b) nicht geht, wie sollen wir dann testen können?
Ciao
Thorsten
Betrifft: AW: Aus Excel via VBA PDF in Word einfügen

Hallo Thorsten,
danke erst einmal für deine Mühen:
zu a) da hast du recht. Habe unser Deckblatt mal neutral gestaltet. Ich kann euch natürlich nichts mit Firmenlogo und echter Dokumentenkennung schicken. Firmeneigentum.
Link: https://www.herber.de/bbs/user/138847.xlsm
zu b) Ding der Unmöglichkeit. Es handelt sich um offizielle Dokumente. Bedienungsanleitungen von Armaturen, Motoren, Klimaanlagen, Kessel usw. Die können mal 10 Seiten umfassen, mal 200. Ich arbeite im Kraftwerksbau. Stell dir vor, dass dort jedes Teil eine Anleitung haben muss. Die kommen von unterschiedlichen Firmen in unterschiedlicher Aufmachung.
Wichtig ist eins: das Tool soll am Anfang eines solchen Dokumentes eine leere Seite einfügen, dort das Deckblatt hinhauen und das eigentliche Dokument beginnt dann somit ab Seite 2, ohne dass Zeilen verrutschen, was besonders bei Grafiken zum Problem werden könnte und das Inhaltsverzeichnis verfälscht. Du kannst das theoretisch mit jedem x-beliebigen Worddokument machen. Neue Seite 1 ist Deckblatt und eigentliches Dokument verschiebt sich um eine Seite auf Seite 2 ohne Versprünge.
Konnte hier übrigens keine docx und PDFs raufladen. Mein Tool macht mit PDF24 aus dem Excel-Deckblatt eine PDF und die soll, auch über das Tool, ins Worddokument eingefügt werden.
Danke an alle und Gruß!
Carsten
Betrifft: AW: Aus Excel via VBA PDF in Word einfügen

Hallo Carsten,
das folgende Makro habe ich unter Office 2010 erarbeitet. Sollte eigentlich auch unter neuerem Office laufen. Allerdings ist die Größe deutlich kleiner als bei Ausgabe in Excel.
LG
Franz
Sub Deckblatt()
' Öffnen der Word-Datei
Dim WdApp As Object
Dim wdDok As Object
Dim wdRange As Object 'Word.Range
Dim Pfad As String, PfadPDF As String
Pfad = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.docx"
PfadPDF = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.pdf" 'anpassen!!!
Set WdApp = CreateObject("Word.Application")
Set wdDok = WdApp.Documents.Open(Filename:=Pfad, ReadOnly:=True)
WdApp.Visible = True
WdApp.Activate
' Einfügen der pdf
Set wdRange = wdDok.Range(0, 0)
'Seitenwechsel einfügen
wdRange.InsertBreak Type:=7 '7=wdPageBreak
Set wdRange = wdDok.Range(0, 0)
wdRange.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.7", _
Filename:=PfadPDF, LinkToFile:=False, _
DisplayAsIcon:=False ' 7 evtl. durch DC ersetzen
' Set wdDok = Nothing
' Set WdApp = Nothing
End Sub

Betrifft: AW: Aus Excel via VBA PDF in Word einfügen
Hallo Franz,
cool! Danke für die Antwort. Probiere es morgen gleich mal aus und melde mich ob es geklappt hat.
Wünsche allen einen schönen Sonntag!
Gruß!
Carsten

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Excel via VBA PDF in Word einfügen
12.07.2020 17:09:00
Carsten M.
Hi Carsten,
Kann euch leider kein Musterdeckblatt schicken
a) wieso nicht? Erstell doch eine Bsp-Excel-Datei, aus der eben das gewünschte PDF-Deckblatt erzeugt wird.
Anstelle der Original-Daten musst du natürlich Bsp-Daten verwenden
b) eine Bsp-Word-Datei mit x Seiten wäre auch schön, da wir doch gar nicht wissen, wie eure Word-Dateien aussehen
c) wenn a) + b) nicht geht, wie sollen wir dann testen können?
Ciao
Thorsten
Betrifft: AW: Aus Excel via VBA PDF in Word einfügen

Hallo Thorsten,
danke erst einmal für deine Mühen:
zu a) da hast du recht. Habe unser Deckblatt mal neutral gestaltet. Ich kann euch natürlich nichts mit Firmenlogo und echter Dokumentenkennung schicken. Firmeneigentum.
Link: https://www.herber.de/bbs/user/138847.xlsm
zu b) Ding der Unmöglichkeit. Es handelt sich um offizielle Dokumente. Bedienungsanleitungen von Armaturen, Motoren, Klimaanlagen, Kessel usw. Die können mal 10 Seiten umfassen, mal 200. Ich arbeite im Kraftwerksbau. Stell dir vor, dass dort jedes Teil eine Anleitung haben muss. Die kommen von unterschiedlichen Firmen in unterschiedlicher Aufmachung.
Wichtig ist eins: das Tool soll am Anfang eines solchen Dokumentes eine leere Seite einfügen, dort das Deckblatt hinhauen und das eigentliche Dokument beginnt dann somit ab Seite 2, ohne dass Zeilen verrutschen, was besonders bei Grafiken zum Problem werden könnte und das Inhaltsverzeichnis verfälscht. Du kannst das theoretisch mit jedem x-beliebigen Worddokument machen. Neue Seite 1 ist Deckblatt und eigentliches Dokument verschiebt sich um eine Seite auf Seite 2 ohne Versprünge.
Konnte hier übrigens keine docx und PDFs raufladen. Mein Tool macht mit PDF24 aus dem Excel-Deckblatt eine PDF und die soll, auch über das Tool, ins Worddokument eingefügt werden.
Danke an alle und Gruß!
Carsten
Betrifft: AW: Aus Excel via VBA PDF in Word einfügen

Hallo Carsten,
das folgende Makro habe ich unter Office 2010 erarbeitet. Sollte eigentlich auch unter neuerem Office laufen. Allerdings ist die Größe deutlich kleiner als bei Ausgabe in Excel.
LG
Franz
Sub Deckblatt()
' Öffnen der Word-Datei
Dim WdApp As Object
Dim wdDok As Object
Dim wdRange As Object 'Word.Range
Dim Pfad As String, PfadPDF As String
Pfad = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.docx"
PfadPDF = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.pdf" 'anpassen!!!
Set WdApp = CreateObject("Word.Application")
Set wdDok = WdApp.Documents.Open(Filename:=Pfad, ReadOnly:=True)
WdApp.Visible = True
WdApp.Activate
' Einfügen der pdf
Set wdRange = wdDok.Range(0, 0)
'Seitenwechsel einfügen
wdRange.InsertBreak Type:=7 '7=wdPageBreak
Set wdRange = wdDok.Range(0, 0)
wdRange.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.7", _
Filename:=PfadPDF, LinkToFile:=False, _
DisplayAsIcon:=False ' 7 evtl. durch DC ersetzen
' Set wdDok = Nothing
' Set WdApp = Nothing
End Sub

Betrifft: AW: Aus Excel via VBA PDF in Word einfügen
Hallo Franz,
cool! Danke für die Antwort. Probiere es morgen gleich mal aus und melde mich ob es geklappt hat.
Wünsche allen einen schönen Sonntag!
Gruß!
Carsten
Anzeige
AW: Aus Excel via VBA PDF in Word einfügen
12.07.2020 17:09:00
Carsten M.
Hallo Thorsten,
danke erst einmal für deine Mühen:
zu a) da hast du recht. Habe unser Deckblatt mal neutral gestaltet. Ich kann euch natürlich nichts mit Firmenlogo und echter Dokumentenkennung schicken. Firmeneigentum.
Link: https://www.herber.de/bbs/user/138847.xlsm
zu b) Ding der Unmöglichkeit. Es handelt sich um offizielle Dokumente. Bedienungsanleitungen von Armaturen, Motoren, Klimaanlagen, Kessel usw. Die können mal 10 Seiten umfassen, mal 200. Ich arbeite im Kraftwerksbau. Stell dir vor, dass dort jedes Teil eine Anleitung haben muss. Die kommen von unterschiedlichen Firmen in unterschiedlicher Aufmachung.
Wichtig ist eins: das Tool soll am Anfang eines solchen Dokumentes eine leere Seite einfügen, dort das Deckblatt hinhauen und das eigentliche Dokument beginnt dann somit ab Seite 2, ohne dass Zeilen verrutschen, was besonders bei Grafiken zum Problem werden könnte und das Inhaltsverzeichnis verfälscht. Du kannst das theoretisch mit jedem x-beliebigen Worddokument machen. Neue Seite 1 ist Deckblatt und eigentliches Dokument verschiebt sich um eine Seite auf Seite 2 ohne Versprünge.
Konnte hier übrigens keine docx und PDFs raufladen. Mein Tool macht mit PDF24 aus dem Excel-Deckblatt eine PDF und die soll, auch über das Tool, ins Worddokument eingefügt werden.
Danke an alle und Gruß!
Carsten
Betrifft: AW: Aus Excel via VBA PDF in Word einfügen

Hallo Carsten,
das folgende Makro habe ich unter Office 2010 erarbeitet. Sollte eigentlich auch unter neuerem Office laufen. Allerdings ist die Größe deutlich kleiner als bei Ausgabe in Excel.
LG
Franz
Sub Deckblatt()
' Öffnen der Word-Datei
Dim WdApp As Object
Dim wdDok As Object
Dim wdRange As Object 'Word.Range
Dim Pfad As String, PfadPDF As String
Pfad = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.docx"
PfadPDF = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.pdf" 'anpassen!!!
Set WdApp = CreateObject("Word.Application")
Set wdDok = WdApp.Documents.Open(Filename:=Pfad, ReadOnly:=True)
WdApp.Visible = True
WdApp.Activate
' Einfügen der pdf
Set wdRange = wdDok.Range(0, 0)
'Seitenwechsel einfügen
wdRange.InsertBreak Type:=7 '7=wdPageBreak
Set wdRange = wdDok.Range(0, 0)
wdRange.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.7", _
Filename:=PfadPDF, LinkToFile:=False, _
DisplayAsIcon:=False ' 7 evtl. durch DC ersetzen
' Set wdDok = Nothing
' Set WdApp = Nothing
End Sub

Betrifft: AW: Aus Excel via VBA PDF in Word einfügen
Hallo Franz,
cool! Danke für die Antwort. Probiere es morgen gleich mal aus und melde mich ob es geklappt hat.
Wünsche allen einen schönen Sonntag!
Gruß!
Carsten
Anzeige
AW: Aus Excel via VBA PDF in Word einfügen
12.07.2020 17:09:00
Carsten M.
Hallo Carsten,
das folgende Makro habe ich unter Office 2010 erarbeitet. Sollte eigentlich auch unter neuerem Office laufen. Allerdings ist die Größe deutlich kleiner als bei Ausgabe in Excel.
LG
Franz
Sub Deckblatt()
' Öffnen der Word-Datei
Dim WdApp As Object
Dim wdDok As Object
Dim wdRange As Object 'Word.Range
Dim Pfad As String, PfadPDF As String
Pfad = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.docx"
PfadPDF = "C:\Users\c15979\Desktop\Deckblatt_Muster\Test.pdf" 'anpassen!!!
Set WdApp = CreateObject("Word.Application")
Set wdDok = WdApp.Documents.Open(Filename:=Pfad, ReadOnly:=True)
WdApp.Visible = True
WdApp.Activate
' Einfügen der pdf
Set wdRange = wdDok.Range(0, 0)
'Seitenwechsel einfügen
wdRange.InsertBreak Type:=7 '7=wdPageBreak
Set wdRange = wdDok.Range(0, 0)
wdRange.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.7", _
Filename:=PfadPDF, LinkToFile:=False, _
DisplayAsIcon:=False ' 7 evtl. durch DC ersetzen
' Set wdDok = Nothing
' Set WdApp = Nothing
End Sub

Betrifft: AW: Aus Excel via VBA PDF in Word einfügen
Hallo Franz,
cool! Danke für die Antwort. Probiere es morgen gleich mal aus und melde mich ob es geklappt hat.
Wünsche allen einen schönen Sonntag!
Gruß!
Carsten
Anzeige
AW: Aus Excel via VBA PDF in Word einfügen
12.07.2020 17:09:00
Carsten M.
Hallo Franz,
cool! Danke für die Antwort. Probiere es morgen gleich mal aus und melde mich ob es geklappt hat.
Wünsche allen einen schönen Sonntag!
Gruß!
Carsten

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige