AW: Excel Daten nach Word kopieren
26.06.2021 12:52:44
Klaus
Hallo Jochen,
ich habe das jetzt folgendermaßen gelöst.
Ich habe mit dem Makro Editor ein Makro zum Drucken in den Word Datei aufgezeichnet
und rufe das Makro am Ende des Makros in Excel auf. (geht sicherlich eleganter)
In den Foren habe ich bestimmt 10 Varianten mit
Printout gefunden, die aber bei mit alle nicht funktioniert haben.
Hier jetzt nochmal das komplette Skript. Es funktioniert aber es würde mich interessieren wie man das vielleicht professioneller lösen könnte. Ich möchte ja was lernen und das was ich gemacht habe ist wahrscheinlich durch die Brust ins Auge.
Danke nochmal für Deine Unterstützung.
Sub nachWordkopieren1()
Dim Dokument As Object
Dim appWord As Object
Dim strDoc As String
Dim objDialog As Object
Set appWord = CreateObject("Word.Application")
'Angabe der Dokumentenvorlage
Set Dokument = appWord.Documents.Add("D:\Wordtest\Dokumentvorlage.dotx")
appWord.Visible = True
Dokument.Activate
'verwendete Textmarken in der Word Vorlage
Dokument.Bookmarks("Nachname").Range.Text = Range("Nachname")
Dokument.Bookmarks("Vorname").Range.Text = Range("Vorname")
Dokument.Bookmarks("Geb").Range.Text = Range("Geb")
Dokument.Bookmarks("PLZ").Range.Text = Range("PLZ")
Dokument.Bookmarks("Ort").Range.Text = Range("Ort")
Dokument.Bookmarks("Strasse").Range.Text = Range("Strasse")
Dokument.Bookmarks("Tel").Range.Text = Range("Tel")
Dokument.Bookmarks("Mobil").Range.Text = Range("Mobil")
Set Dokument = Nothing
Set appWord = Nothing
'Aufruf eines Makros mit Namen "Druck" im Word Dokument zum Drucken
Dim WD As Object
Set WD = CreateObject("Word.Application")
WD.Documents.Open "C:\Users\User\Documents\Dokument1.Docx"
WD.Run "Druck"
WD.Quit
End Sub
Hier noch das Druck Makro aus dem Word Dokument
Sub Druck()
' Druck Makro
ActivePrinter = GetDefaultPrinter
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub