Usando o método CreateoleObject possui vantagens inerentes às operações do documento do Word. Program as operações do documento do Word.
A seguir, o experimento que fiz nesta máquina e a configuração do software de máquina é a seguinte:
Windows XP+Delphi7.0+Office 2003
Este programa é muito simples. programa quando o programa é fechado.
unidade principal;
interface
// Se você quiser usar o CreateOleObject para operar no documento do Word, você deve usar
// Inclua a instrução COMOBJ e a instrução wordxp na declaração
usos
Janelas, mensagens, sysutils, variantes, classes, gráficos, controles, formulários,
Comobj, wordxp, diálogos, stdctrls;
tipo
Tform1 = classe (tform)
Button1: tbutton;
Edit1: TEDIT;
Procedimento Button1Click (remetente: Tobject);
Procedimento FormCreate (remetente: Tobject);
Procedimento FormClose (remetente: TOBJECT; VAR Action: TCLOSEACTION);
// procedimento Button2Click (remetente: tabjas);
Privado
{Declarações privadas}
público
{Declarações públicas}
fim;
var
Form1: TForm1;
// declarar essas duas variáveis como variáveis globais
Fword: variante;
FDOC: variante;
Implementação
{$ R *.dfm}
procedimento TForm1.Button1Click (remetente: TOBJECT);
Começar
Fword.selection.typeparagraph;
Fword.selection.typetext (texto: = form1.edit1.text);
fim;
procedimento TForm1.FormCreate (remetente: Tobject);
Começar
// Crie primeiro o objeto e dê um aviso se ocorrer uma exceção
tentar
Fword: = createoleObject ('word.application');
// A execução da palavra é visível? Quando o valor é falso, o programa é executado em segundo plano
Fword.Visible: = false;
exceto
ShowMessage ('Crie um objeto Word falhou!');
Saída;
fim;
// Crie primeiro uma nova página na palavra aberta e depois digite "Hello", Enter + "World!"
tentar
Fdoc: = fword.documents.add;
Fword.selection.typetext (texto: = 'hello,');
Fword.selection.typeparagraph;
Fword.selection.typetext (texto: = 'mundo!');
exceto
em e: exceção do
ShowMessage (E.Message);
fim;
fim;
// Salve o conteúdo do arquivo no diretório atual quando o programa é fechado e nomeado após teste.doc
// fechando o programa Word ao mesmo tempo
Procedimento TForm1.FormClose (remetente: TOBJECT; VAR Action: TCLOSEACTION);
Começar
Fdoc.saveas (ExtractFilePath (Application.Exename) +'test.doc');
Fword.quit;
Fword: = não atribuído;
fim;
fim.
Além disso, as operações em outros arquivos do escritório são relativamente semelhantes, então não entrarei em detalhes. Este método também pode concluir operações de documentos mais complexas por meio de referências a macros VBA mais complexas nos arquivos do Word.