Sie wollen Adressen, die in einer Exceltabelle gespeichert sind, in Word weiter benutzen? Sie wollen eine Tabelle aus Excel in eine Wordtabelle einfügen? Das ist mit VBA alles möglich und sogar noch mehr. Denn Sie können auch von Word aus einfach nur auf Berechnungsfunktionen von Excel zugreifen. Denn Excel ist im Gegensatz zu Word ein Rechenkünstler mit vielen verscheidenen mathematischen und noch anderen Funktionen
Doch zunächst haben Sie die zwei Methoden, mit denen Sie Exceleinbinden können.
Bei der Early Binding setzen Sei eine Verweis im VBA-Editor. Der Verweis für Excel muss so lauten:
Microsoft Excel xx.0 Object Library
Das xx bezeichnet die Officeversion, wobei 9 für Office 2000 bis 12 für Office 2007 gilt.
Zunächst müssen Sie ein Objekt für die Excelanwendung deklarieren und anschließend zuweisen:
Dim ObjExcel As Excel.Application
Set ObjExcel = New Excel.Application
Jetzt stehen Ihnen mit dem Objekt ObjExcel alle Möglichkeiten von Excel zur Verfügung. Aber vergessen Sie nicht nach der Verarbeitung das Objekt zu entladen:
Set ObjExcel = Nothing
Bei Late Binding wird der Verweis mit dem Code gesetzt:
Dim ObjExcel As Object
Set ObjExcel = CreateObject("Excel.Application")
Die Methode CreateObject benutzen Sei dann, wenn Excel noch nicht geöffnet ist. Sollte Excel bereits geöffnet sein, könne sie auch das GetObject benutzen. Dann sieht die Zeile so aus:
Set ObjExcel = GetObject( ,"Excel.Application")
Bei dieser Zeile wird ein Fehler mit der Fehlernummer 429 ausgelöst, wenn Excel noch nicht geöffnet ist. Der Fehler kann abgefangen werden.
Damit haben Sie bereits alles soweit erledigt und Sie können auf das Excel-Objekt zugreifen. Eins sei aber noch angemerkt: Bei der Methode Late Binding kann es Ihnen passieren, dass nicht alle Objekte bzw. Eigenschaften zur Verfügung stehen. Welche das sind, muss man im Einzelfall überprüfen.
Wir wollen Ihnen auch nicht vorenthalten, dass zwar mit diesen Zeilen Excel geladen ist, aber sichtbar ist es noch nicht. Das gilt für beide Methoden. Wollen Sie Excel für den User anzeigen lassen, müssen Sie noch folgende Zeile hinzufügen:
ObjExcel.Visible = True
Schauen Sie sich einfach mal die Beispiel an, was man alles realisieren kann.