chef1568
Goto Top

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

Content-Key: 259615

Url: https://administrator.de/contentid/259615

Printed on: April 16, 2024 at 18:04 o'clock

Member: colinardo
colinardo Jan 12, 2015 updated at 16:18:06 (UTC)
Goto Top
Hallo chef1568,
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.
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
Member: vossbaer
vossbaer Jan 13, 2015 updated at 08:26:11 (UTC)
Goto Top
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