El uso del método CreateOleObject tiene ventajas inherentes para las operaciones del documento de Word. Programa las operaciones del documento Word.
El siguiente es el experimento que hice en esta máquina, y la configuración del software de la máquina es la siguiente:
Windows XP+Delphi7.0+Office 2003
Este programa es muy simple. programa cuando el programa está cerrado.
unidad principal;
interfaz
// Si desea usar CreateOleObject para operar en el documento Word, debe usar
// Incluye la declaración Comobj y la declaración de Wordxp en la declaración
usos
Windows, mensajes, sysutils, variantes, clases, gráficos, controles, formularios,
Comobj, wordxp, diálogo, stdctrls;
tipo
TForm1 = class (tForm)
Botón 1: tbutton;
Edit1: tedit;
Procedimiento botón1Click (remitente: tobject);
procedimiento formulcreate (remitente: tobject);
procedimiento FormClose (remitente: tobject; VAR Acción: TCLoseAction);
// procedimiento Button2Click (remitente: tobject);
Privado
{Declaraciones privadas}
público
{Declaraciones públicas}
fin;
varilla
Form1: tform1;
// Declarar estas dos variables como variables globales
Fword: variante;
FDOC: variante;
Implementación
{$ R *.dfm}
procedimiento tForm1.Button1Click (remitente: tobject);
Comenzar
Fword.selection.typeParaGraph;
Fword.selection.typetext (texto: = form1.edit1.text);
fin;
procedimiento tForm1.FormCreate (remitente: tobject);
Comenzar
// Primero cree el objeto y dé un aviso si se produce una excepción
intentar
Fword: = createOleObject ('word.application');
// ¿La ejecución del programa Word es visible?
Fword.visible: = false;
excepto
ShowMessage ('¡Crear un objeto de palabra fallido!');
Salida;
fin;
// Primero cree una nueva página en la palabra abierta y luego escriba "Hola", + Enter + "World!"
intentar
Fdoc: = fword.documents.add;
Fword.selection.typEtext (text: = 'hola', ');
Fword.selection.typeParaGraph;
Fword.selection.typEtext (text: = 'World!');
excepto
En E: Excepción DO
Showmessage (E.Message);
fin;
fin;
// Guarde el contenido del archivo en el directorio actual cuando el programa se cierra y nombra después de Test.doc
// Cerrar el programa Word al mismo tiempo
procedimiento tForm1.FormClose (remitente: tobject; VAR Action: tCLoseAction);
Comenzar
Fdoc.saveas (ExtractFilePath (Application.exename) +'test.doc');
Fword.quit;
Fword: = sin asignado;
fin;
fin.
Además, las operaciones en otros archivos de oficina son relativamente similares, por lo que no entraré en detalles. Este método también puede completar operaciones de documentos más complejas a través de referencias a macros VBA más complejas en archivos de Word.