Der folgende VBA Tipp zeigt, wie man in einem MS Word Dokument Zugriff auf ein eingebundenes Excel Objekt / Container bekommt.
Dabei wird auf verschiedene Arbeitsblätter zugegriffen.
Der Tipp geht davon aus, dass das Excel Objekt das erste eingebundene Objekt in der Worddatei ist.
Im VBA Editor muss über Extras => Verweise ein Verweis auf Excel gesetzt werden.
In dem Beispiel wir in der ersten Arbeitsmappe im Feld A1 das aktuelle Datum und die aktuelle Uhrzeit geschrieben.
Als zweites wird eine Kopie der Arbeitsmappe 1 nach der Arbeitsmappe 1 eingefügt.
1: Sub Zugriff_auf_Excel_Object()
2: Dim oWordOLEFormat As Word.OLEFormat
3: Dim oExcelWorkbook As Excel.workbook
4:
5: Set oWordOLEFormat = ActiveDocument.InlineShapes(1).OLEFormat
6:
7: oWordOLEFormat.DoVerb wdOLEVerbOpen
8:
9: Set oExcelWorkbook = oWordOLEFormat.Object
10: oExcelWorkbook.Application.Visible = False
11:
12: 'Beispielaktion 1: Datum in erstes Arbeitsblatt schreiben
13: With oExcelWorkbook.Sheets(1)
14: .Range("A1") = Now
15: End With
16:
17: 'Beispielaktion 2: Arbeitsblatt kopieren und nach dem ersten Arbeitsblatt einfügen
18: oExcelWorkbook.Sheets(1).Copy After:=oExcelWorkbook.Sheets(1)
19: oExcelWorkbook.Close
20:
21: Set oExcelWorkbook = Nothing
22: Set oWordOLEFormat = Nothing
23: End Sub