Makros und Programme einsetzen

Ole-Automation verwenden

Top  Previous  Next

Ole-Automation ist ein Windows-Standard, der es ermöglicht mit anderen Anwendungen, sogenannten Automatisierungs-Servern zu kommunizieren. Programme, die Ole-Automation als Server unterstützen (zum Beispiel gehören alle Anwendungen von MS Office dazu), veröffentlichen Klassen mit Methoden, die man aus anderen Programmen aufrufen kann.

TurboDB Studio unterstützt das Schreiben von Automatisierungs-Clients durch den Typ OleObject. Ein Ole-Objekt wird mit dem veröffentlichten Namen des Automatisierungs-Servers erzeugt; anschließend kann man die entsprechenden Methoden aufrufen. Anwendungsmöglichkeiten sind zum Beispiel:

Serienbrief mit Word drucken
Excel-Rechenblatt mit Daten aus einer TurboDB Tabelle füllen und eine Grafik dafür erstellen
Ein eigenes (z.B. mit Visual Basic oder Delphi) geschriebenes Programm fernsteuern

Hier ist ein Beispiel für die Kommunikation mit Excel:

procedure CreateWorksheet;
vardef Excel: OleObject;
Excel := CreateOleObject('Excel.Application');
Excel.Visible := 'Wahr';
Excel.Workbooks.Add
Excel.Range(SYSTEM.Start-Zelle, SYSTEM.Ende-Zelle).Value := SYSTEM.Text;
endproc;

Die Excel-Anwendung wird hier sichtbar gemacht, um das Ergebnis direkt sehen zu können. Dies ist meistens nicht nötig und auch nicht erwünscht.Bedenken Sie auch, dass beim Übersetzen weder der Name der Automatisierungsklasse noch die Methoden und die Parameter geprüft werden können. Fehler bemerken Sie hier erst beim Ausprobieren. Wenn Sie die selbe Anwendung auf einem Rechner starten, auf dem kein Excel installiert ist, wird ein Laufzeitfehler ausgelöst.

Wie die Ole-Klassen von Excel bzw. des gewünschten Automatisierungs-Servers heißen und welche Schnittstellen sie anbieten, entnehmen Sie der Dokumentation des jeweiligen Produkts.