Re: Word öffnen per VBA
03.05.2002 16:15:07
Rolf, Lgh.
Hallo Stefan,
Auszug aus: http://mypage.bluewin.ch/reprobst/WordFAQ/OA.htm#OA6:
Bitte beachten:
Verweise auf Objektbibliotheken setzen (hier natürlich in Excel den Verweis auf Word setzen
Sie mögen sich vielleicht gewundert haben, wieso die Code-Beispiele hier wenig aussagende absolute numerische Werte satt wie üblich Word- und Excel-Konstanten einsetzen. So wird z.B.
xlAnw.WindowState = -4137
verwendet, statt
xlAnw.WindowState = xlMaximized.
Der Grund ist folgender: Die Client-Applikation, also die aufrufende Anwendung, kennt diese Konstanten gar nicht. Somit würde ein leerer Wert an die Server-Anwendung geschickt was natürlich einen Syntaxfehler hervor rufen würde. Dieses Verhalten können Sie aber ändern und es ist auch sicher ratsam, dies zu tun. Richten Sie ganz einfach in der Client-Anwendung einen Verweis auf die Objektbibliothek der Server-Anwendung ein, welche Sie erreichen möchten. Um von Word einen Objektverweise auf die Excel-Objektbibliothek einzurichten, gehen Sie wie folg vor:
Öffnen Sie die Standardvorlage mit dem Namen Normal.dot über Datei - Öffnen.
Wechseln Sie mit der Tastenkombination [Alt + F11] in die VBA-Umgebung.
Wählen Sie dort vom Hauptmenü Extras - Verweise....
Suchen Sie in der Liste nach der Objektbibliothek mit der Bezeichnung Microsoft Excel Object Library 8.0 (Word 97) bzw. Microsoft Excel Object Library 9.0 (Word2000) und setzen Sie dort das Häkchen.
Speichern Sie die Normal.dot. Word sollte sich diese Einstellung nun für die Zukunft merken.
Vorteile von Verweisen
Wenn Sie einen Verweis auf die Objektbibliothek der Server-Anwendung einrichten handeln Sie sich Vorteile ein, welche sich sowohl während der Entwurfzeit, wie auch während der Laufzeit positiv bemerkbar machen:
Sie können Objekte nun exakt deklarieren, d.h. statt Dim xlMappe As Object steht Ihnen nun folgende Syntax zur Verfügung: Dim xlMappe As Excel.Workbook.
Alle bekannten anwendungsintegrierten Konstanten der Server-Anwendung stehen ihnen nun auch in der Client-Anwendung zur Verfügung.
Beim Entwickeln des Codes, können Sie nun vom Quick-Info-Feature und von der AutoVervollständigung des VBA-Editors profitieren, da Objekte, Eigenschaften und Methoden der Server-Anwendung nun auch in der Client-Anwendung bekannt sind.
Etwaige Fehlermeldungen, welche Sie zurück erhalten sind nun in der Regel nun aussagekräftiger.
Die Ausführung des Code gewinnt an Performanz.
Gruß Rolf