Word-OLE-Server-Komponente verwenden |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 5 |
| Letzte Änderung | 20.02.2012 |
Ab Delphi 5 Professional gibt es in der Komponente eine Seite mit Server-Komponenten. Dadurch wird die OLE-Automation, also die "Fernbedienung" anderer Anwendungen, wesentlich vereinfacht.
Um beispielsweise eine Verbindung zu Word (muss natürlich installiert sein) aufzubauen, müssen die beiden Komponenten TWordApplication sowie TWordDocument auf einem Formular platziert werden. Falls sie in der Toolpalette nicht zu finden sind, muss im Menü Komponente / Packages installieren ein Haken gesetzt werden vor "Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server".
TWordApplication ist für die Steuerung von Word als Anwendung und Zentrale zur Verwaltung mehrer Dokumente zuständig. TWordDocument wird dagegen mit einem speziellen Word-Dokument verbunden und ist für die Bearbeitung dieses Dokuments zuständig. Folgender Code ist nötig, um eine Verbindung zu Word aufzubauen:
var vParam: OleVariant;
FPara: Paragraph; //Absatz
FRange: Range; //Bereich
cDoc: string;
begin
cDoc := 'c:\test\beispiel.doc';
vParam := cDoc;
WordApplication1.Connect;
try
// Datei in vParam wird geöffnet
WordApplication1.Documents.Open(vParam);
// Verbindung zwischen TWordApplication und TWordDocument
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
// Ab jetzt wird mit dem Dokument gearbeitet
// Auswahl eines Absatzes
FPara := WordDocument1.Paragraphs.Item(3);
// Auswahl eines Wortes
FRange := FPara.Range.Words.Item(2);
// Wort wird fett dargestellt
FRange.Bold := 1;
// Word wird angezeigt, bisher war es unsichtbar im Hintergrund
WordApplication1.visible := true;
vParam := false;
// Parameter gibt an, ob Speichern oder nicht
WordDocument1.Close(vParam);
// Verbindung trennen
WordDocument1.Disconnect;
finally
// Word freigeben
WordApplication1.Disconnect;
end;
end;
Die Eigenschaft ConnectKind von TWordApplication (im Objektinspektor) legt fest, ob bei jedem Verbindungsaufbau dieselbe Word-Instanz genutzt oder ob jedes Mal eine neue gestartet werden soll.
Der besondere Vorteil der Server-Komponenten liegt darin, dass die Code-Vervollständigung (Strg+Leertaste nach einem Objektnamen mit Punkt) über alle möglichen Methoden informiert und über Strg+Shift+Leertaste die nötigen Parameter angezeigt werden.