2. 4. 2 TCOM
SYNTAX
Über die Tcl-COM-Schnittstelle tcom
können Microsoft Office Anwendungen adressiert werden, um MS
Office Dokumente auszulesen oder zu erstellen. Dazu gehören
insbesondere Excel, aber auch Word, Outlook und andere. Um
die
COM-Schnittstelle zu nutzen, muss die entsprechende Anwendung
installiert sein und das Package tcom
eingebunden werden (liegt der Simulationssoftware bei):
package require tcom
Nachstehend werden die wichtigsten Befehle aufgeführt, die
für alle MS Office Anwendungen identisch sind. Daneben gibt es
für jede Anwendung individuelle Befehle, die an die Skriptsprache VBA
(Visual Basic for Applications) angelehnt sind:
Die dort gelisteten Befehle sind nicht vollständig. Alle
zulässigen Variablen und Methoden eines Objekts im Namensraum des
tcom-Packages
können über die tcom-Befehle properties
bzw. methods abgefragt werden - die
entsprechenden Befehle lassen sich somit herleiten.
Achtung: Einige Befehle erfordern einen booleschen
Übergabeparameter "1" bzw. "true" ("0", "false"). Hierbei besteht
die Gefahr, dass der Tcl-Interpreter diese Werte nicht als boolesch
erkennt, sondern als Strings, so dass der verwendete Befehl eine
Fehlermeldung erzeugt. Zur Vermeidung kann für den booleschen
Parameter ein mathematischer Ausdruck eingesetzt werden: [expr 1] bzw.
[expr 0]. Diese Syntax mag
verwirren, ist aber anzuraten, um Fehlinterpretationen zu vermeiden.
Prinzipiell gilt dies für alle Übergabeparameter, die nicht
vom Typ String sind, weshalb z.B. auch Integer-Werte als [expr 5] statt
"5" übergeben werden sollten.
Befehle
tcom::ref createobject appName
|
|
Startet eine neue Instanz der Applikation appName. Die Applikation ist dabei
nicht sichtbar, sondern wird im Hintergrund ausgeführt. Der
Rückgabewert des Befehls ist das Objektkommando appCmd, das zur weiteren
Adressierung der Applikation benötigt wird. Zulässige Werte
für appName sind:
| Excel.Application |
| Outlook.Application |
| Acess.Application |
| Word.Application |
| usw. |
Ist die jeweilige Anwendung nicht installiert, erfolgt eine
Fehlermeldung.
|
| |
tcom::ref getactiveobject appName
|
|
Setzt eine Referenz auf eine bereits geöffnete Instanz
der Applikation appName und
deren geöffnete Dokumente. Der Rückgabewert des Befehls ist
das Objektkommando appCmd,
das zur weiteren Adressierung der Applikation benötigt wird.
Zulässige Werte für appName
sind:
| Excel.Application |
| Outlook.Application |
| Acess.Application |
| Word.Application |
| usw. |
Ist die jeweilige Anwendung nicht geöffnet, erfolgt eine
Fehlermeldung.
|
| |
tcom::ref getObject fileName
|
|
Öffnet das angegebene MS Office Dokument fileName. Die dafür
benötigte Applikation wird automatisch erkannt und ggf. im
Hintergrund gestartet, wenn nicht schon eine Instanz geöffnet ist.
Der String fileName muss mit
vollständigem Pfad und Dateierweiterung angegeben werden. Der
Rückgabewert des Befehls ist ein Objektkommando (abhängig von
der Applikation), das zur weiteren Adressierung des Dokuments
benötigt wird.
|
| |
appCmd Visible ?boolean?
|
|
Abfragen oder Setzen der Sichtbarkeit (Ausführung im
Vordergrund) der Applikation appCmd.
Standard: 0
|
| |
appCmd Quit
|
|
Schließen der Applikation appCmd.
|
| |
tcom::info
interface objCmd
|
|
Bindet ein neues Objektkommando infoCmd (Rückgabewert) an
das Interface zum Objekt objCmd.
Das Objekt objCmd kann dabei
ein
beliebiges Objekt aus dem Namensraum des Tcl-Package tcom sein.
|
| |
infoCmd
properties
|
|
Abfrage der adressierbaren Eigenschaften des durch infoCmd referenzierten
Objektkommandos.
|
| |
infoCmd
methods
|
|
Abfrage der adressierbaren Methoden des durch infoCmd referenzierten
Objektkommandos.
|
|