Difference between revisions of "WordAutomation/de"
Line 75: | Line 75: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
− | = | + | =Dokument bearbeiten= |
+ | ==Worddokument aktiviern== | ||
<syntaxhighlight> | <syntaxhighlight> | ||
begin | begin | ||
... | ... | ||
− | + | varDokument.Activate; //aktiviert das Worddokument | |
... | ... | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
+ | ==Worddokument Text einfügen== | ||
+ | <syntaxhighlight> | ||
+ | begin | ||
+ | ... | ||
+ | varWdApp.Selection.TypeText(Text := 'Neuer Text. '); | ||
+ | varWdApp.Selection.TypeText(Text := UTF8ToUTF16('Zusätzlicher Text')); //Benötigt die Unit lclproc für die korrekte Umwandlung der Umlaute | ||
+ | |||
+ | varWdApp.Selection.InsertAfter(String(#13)); // fügt einen Zeilenumbruch im Worddokument ein | ||
+ | varWdApp.Selection.InsertAfter(String(#10)); // fügt einen Zeilenumbruch im Worddokument ein | ||
+ | varWdApp.Selection.InsertAfter('Test'); // fügt im Worddokument nach der Cursorposition diesen Text ein | ||
+ | // die Cursorpsition befindet sich bei einem frisch geöffneten Worddokument immer am Anfang des Dokuments | ||
+ | |||
+ | ... | ||
+ | end; | ||
+ | </syntaxhighlight> | ||
+ | <br> | ||
+ | |||
+ | |||
=Word: Sichtbarkeit steuern= | =Word: Sichtbarkeit steuern= | ||
Eine unsichtbare Anwendung verhindert während der Automatisierung das Flackern des Bildschirms.<br> | Eine unsichtbare Anwendung verhindert während der Automatisierung das Flackern des Bildschirms.<br> |
Revision as of 17:57, 25 September 2012
Dieser Artikel behandelt ausschließlich Windows.
Siehe auch: Multiplatform Programming Guide/de
│
Deutsch (de) │
Word als OleObjekt
Word lässt sich wie alle MS Office Produkte automatisieren. Im Gegensatz zu den übrigen MS Office Produkten ist es bei der Automatisierung sehr sehr langsam und reagiert sehr ungewohnt.
Wenn man als Automatisierungsobjekt nicht zwingend auf MS Word angewiesen ist, dann sollte man für die Automatisierung MS Excel nehmen.
Für die Oleautomation muss die Unit ComObj eingebunden werden.
Wenn Sie mit Umöauten arbeiten dann brauchen Sie für das Stringcasting die Unit lclproc.
Beispiel:
unit
ComObj, lclproc;
Speicherplatz reservieren
var
varWdApp: oleVariant; // Reserviert Speicher für die Programmsteuerung
varDokument: oleVariant; // Reserviert Speicher für die Steuerung des Worddokuments
Word OleObjekt erstellen
begin
...
try
varWdApp := CreateOleObject('Word.Application'); // erstellt das Wordobjekt
except
WriteLn('MS Word kann nicht gestartet werden.'); // Fehlerbehandlung
end;
...
end;
Word Version ermitteln
begin
...
ShowMessage(varWdApp.Version);
...
end;
Word Dokument erstellen
begin
...
varDokument := varWdApp.Documents.Add; // fügt ein neues 'leeres' Worddokument hinzu
...
end;
Word Dokument öffnen
Es gibt mehrere Möglichkeiten ein Worddokument zu öffnen.
begin
...
varDokument := varWdApp.Documents.Open(strPfad); // öffnet ein Worddokument mit Hilfe einer Variablen (Pfad: maximal 255 Zeichen, Alphanumerisch)
varDokument := varWdApp.Documents.Open('D:\Test.doc'); // fügt ein Worddokument mit festem Pfad hinzu
...
end;
Word beenden und Speicher freigeben
begin
...
varWdApp.Quit;
varWdApp := Unassigned;
...
end;
Dokument bearbeiten
Worddokument aktiviern
begin
...
varDokument.Activate; //aktiviert das Worddokument
...
end;
Worddokument Text einfügen
begin
...
varWdApp.Selection.TypeText(Text := 'Neuer Text. ');
varWdApp.Selection.TypeText(Text := UTF8ToUTF16('Zusätzlicher Text')); //Benötigt die Unit lclproc für die korrekte Umwandlung der Umlaute
varWdApp.Selection.InsertAfter(String(#13)); // fügt einen Zeilenumbruch im Worddokument ein
varWdApp.Selection.InsertAfter(String(#10)); // fügt einen Zeilenumbruch im Worddokument ein
varWdApp.Selection.InsertAfter('Test'); // fügt im Worddokument nach der Cursorposition diesen Text ein
// die Cursorpsition befindet sich bei einem frisch geöffneten Worddokument immer am Anfang des Dokuments
...
end;
Word: Sichtbarkeit steuern
Eine unsichtbare Anwendung verhindert während der Automatisierung das Flackern des Bildschirms.
begin
...
varWdApp.Visible := False; //macht Word unsichtbar
varWdApp.Visible := True; //macht Word sichtbar
...
end;
--Olaf 16:52, 25 September 2012 (UTC)