Excel VBA - Worddokument mit Formatierung erzeugen und Zellen einfügen
Hallo,
ich möchte aus Excel herraus ein Word Dokument erstellen um verschiedene Bereiche aus der Excel-Tabelle in das Dokument zu kopieren.
Hierbei müsste ich am Besten auch die Gliederung (Überschriften) entsprechend den Excel-Daten neu erzeugen und entsprechend formatieren.
Ein Inhaltsverzeichis muss hierfür auch erzeugt oder aktualisiert werden.
Ist dies so möglich?
Vielleicht habt ihr ein paar Denkanstöße für mich.
Danke schonmal
ich möchte aus Excel herraus ein Word Dokument erstellen um verschiedene Bereiche aus der Excel-Tabelle in das Dokument zu kopieren.
Hierbei müsste ich am Besten auch die Gliederung (Überschriften) entsprechend den Excel-Daten neu erzeugen und entsprechend formatieren.
Ein Inhaltsverzeichis muss hierfür auch erzeugt oder aktualisiert werden.
Ist dies so möglich?
Vielleicht habt ihr ein paar Denkanstöße für mich.
Danke schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 259615
Url: https://administrator.de/contentid/259615
Ausgedruckt am: 05.11.2024 um 10:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo chef1568,
Formatierung und Inhaltsverzeichnis lassen sich dann auch mit Feldfunktionen in das Dokument einfügen.
Für eine VBA-Referenz für das Word-Objektmodell siehe: http://msdn.microsoft.com/en-us/library/office/ff601860%28v=office.14%2 ...
Ein paar Code-Schnippsel zum Thema findest du in diesem Thread
Grüße Uwe
Zitat von @chef1568:
ich möchte aus Excel herraus ein Word Dokument erstellen um verschiedene Bereiche aus der Excel-Tabelle in das Dokument zukopieren.
Hierbei müsste ich am Besten auch die Gliederung (Überschriften) entsprechend den Excel-Daten neu erzeugen und
entsprechend formatieren.
Ein Inhaltsverzeichis muss hierfür auch erzeugt oder aktualisiert werden.
Ist dies so möglich?
Ja, das ist alles machbar.ich möchte aus Excel herraus ein Word Dokument erstellen um verschiedene Bereiche aus der Excel-Tabelle in das Dokument zukopieren.
Hierbei müsste ich am Besten auch die Gliederung (Überschriften) entsprechend den Excel-Daten neu erzeugen und
entsprechend formatieren.
Ein Inhaltsverzeichis muss hierfür auch erzeugt oder aktualisiert werden.
Ist dies so möglich?
Vielleicht habt ihr ein paar Denkanstöße für mich.
Du kannst eine Vorlage anlegen, in welcher du an den stellen Platzhalter (Textmarken bzw. Bookmarks) einfügst, welche dann später durch das Excel-File mit Inhalt ersetzt werden.Formatierung und Inhaltsverzeichnis lassen sich dann auch mit Feldfunktionen in das Dokument einfügen.
Für eine VBA-Referenz für das Word-Objektmodell siehe: http://msdn.microsoft.com/en-us/library/office/ff601860%28v=office.14%2 ...
Ein paar Code-Schnippsel zum Thema findest du in diesem Thread
Grüße Uwe
Ich würde das Makro in Word programmieren. Das Dokument mit Textmarken versehen und dann die Inhalte aus Excel übertragen.
Die Daten aus Excel in eine Variable speichern z. B. AusExcel
Dim AusExcel as Integer
Dim TextmarkeRange As Range
Dim ExcelSheetobj As Object
'Öffnen der Exceldatei
Set ExcelSheetobj = CreateObject("excel.application").workbooks.Open("c:\text.xlsx)
'Wert aus der ersten Zelle einlesen
AusExcel = ExcelSheetobj.Application.Sheets("Tabelle1").Cells(1, 1).Value
'Überprüfen ob eine Marke existiert
If .Bookmarks.Exists("TextmarkeName ") Then
'Textmarke Range zuweisen
Set TextmarkeRange = .Bookmarks("TextmarkeName ").Range
'Daten dem Rangeobjekt zuweisen
TextmarkeRange = AusExcel
'Daten in die Textmarke schreiben
.Bookmarks.Add "TextmarkeName ", TextmarkeRange
Else
MsgBox "TextmarkeTextmarkeName konnte nicht gesetzt werden!"
End If
Die Daten aus Excel in eine Variable speichern z. B. AusExcel
Dim AusExcel as Integer
Dim TextmarkeRange As Range
Dim ExcelSheetobj As Object
'Öffnen der Exceldatei
Set ExcelSheetobj = CreateObject("excel.application").workbooks.Open("c:\text.xlsx)
'Wert aus der ersten Zelle einlesen
AusExcel = ExcelSheetobj.Application.Sheets("Tabelle1").Cells(1, 1).Value
'Überprüfen ob eine Marke existiert
If .Bookmarks.Exists("TextmarkeName ") Then
'Textmarke Range zuweisen
Set TextmarkeRange = .Bookmarks("TextmarkeName ").Range
'Daten dem Rangeobjekt zuweisen
TextmarkeRange = AusExcel
'Daten in die Textmarke schreiben
.Bookmarks.Add "TextmarkeName ", TextmarkeRange
Else
MsgBox "TextmarkeTextmarkeName konnte nicht gesetzt werden!"
End If