Die Verwendung der CreateLoBject -Methode hat inhärente Vorteile für Word -Dokumentvorgänge im Vergleich zum Zugriff auf die von Delphi bereitgestellten Kontrollmethoden ist die CreateLoBject -Methode "näher" zum Betrieb des Wortkerns, da es das von Office bereitgestellte VBA -Sprachpaar direkt verwendet. Programmieren Sie die Operationen des Wortdokuments.
Das Folgende ist das Experiment, das ich auf dieser Maschine gemacht habe, und die Maschinensoftwarekonfiguration lautet wie folgt:
Windows XP+Delphi7.0+Office 2003
Dieses Programm ist sehr einfach. Programm, wenn das Programm geschlossen ist.
Einheit Main;
Schnittstelle
// Wenn Sie CreateLoBject verwenden möchten, um im Word -Dokument zu arbeiten, sollten Sie verwenden
// Comobj -Anweisung und WordXP -Anweisung in die Erklärung einbeziehen
Verwendung
Fenster, Nachrichten, Systeme, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Comobj, WordXP, Dialoge, stdctrls;
Typ
Tform1 = Klasse (tform)
Button1: Tbutton;
Edit1: tedit;
PROCEDURE Taste1Click (Absender: Tobject);
Prozedur Formcreate (Absender: Tobject);
ProzedurformClose (Absender: Tobject; var Aktion: tcloseaction);
// PROCEDURE Button2Click (Absender: Tobject);
Privat
{Private Deklarationen}
öffentlich
{Öffentliche Erklärungen}
Ende;
var
Form1: tform1;
// deklarieren Sie diese beiden Variablen als globale Variablen
FWord: Variante;
FDOC: Variante;
Durchführung
{$ R *.dfm}
procedure tform1.button1click (Absender: tobject);
Beginnen
FWord.Selection.TypeParagraph;
FWord.Selection.tyPext (text: = form1.edit1.text);
Ende;
procedure tform1.formcreate (Absender: tobject);
Beginnen
// Erstellen Sie zuerst das Objekt und geben Sie eine Eingabeaufforderung an, wenn eine Ausnahme eintritt
versuchen
FWord: = createLoBject ('Word.Application');
// ist die Ausführung des Wortes Programms sichtbar, wenn der Wert falsch ist, wird das Programm im Hintergrund ausgeführt
FWord.vissible: = false;
außer
ShowMessage ('Erstellen eines Wortobjekts fehlgeschlagen!');
Ausfahrt;
Ende;
// Erstellen Sie zuerst eine neue Seite im offenen Wort und geben Sie dann "Hallo" ein, + eingeben + "Welt!"
versuchen
Fdoc: = fWord.documents.add;
FWord.Selection.tyPext (Text: = 'Hallo,');
FWord.Selection.TypeParagraph;
FWord.Selection.tyPext (Text: = 'World!');
außer
auf e: Ausnahme tun
ShowMessage (E.Message);
Ende;
Ende;
// Speichern Sie den Dateiinhalt in dem aktuellen Verzeichnis, wenn das Programm geschlossen und nach test.doc benannt ist
// das Wort gleichzeitig das Wort Programm schließen
procedure tform1.FormClose (Absender: tobject; var action: tcloseaction);
Beginnen
Fdoc.saveas (extractFilepath (application.exename) +'test.doc');
FWord.quit;
FWord: = nicht zugewiesen;
Ende;
Ende.
Darüber hinaus sind die Vorgänge in anderen Office -Dateien relativ ähnlich, sodass ich nicht in Details eingehen werde. Diese Methode kann auch komplexere Dokumentvorgänge durch Verweise auf komplexere VBA -Makros in Word -Dateien abschließen.