Использование метода CreateOleobject имеет неотъемлемые преимущества для операций с документами Word. Программируйте операции слова документа.
Ниже приведен эксперимент, который я прошел на этой машине, и конфигурация программного обеспечения для машины заключается в следующем:
Windows XP+Delphi7.0+Office 2003
Эта программа очень проста. Программа, когда программа закрыта.
единица главного;
интерфейс
// Если вы хотите использовать CreateOleObject для работы в документе Word, вы должны использовать
// Включите заявление ComoBJ и оператор WordXP в оператор
Использование
Windows, сообщения, Sysutils, варианты, классы, графика, управления, формы,
Comobj, Wordxp, Dialogs, Stdctrls;
тип
Tform1 = class (tform)
Баттон1: Tbutton;
РЕДАКТИРОВАТЬ1: ТЕДИТ;
Процедура Button1click (отправитель: tobject);
Процедура FormCreate (отправитель: Tobject);
Процедура FormClose (отправитель: tobject; var aect: tcloseaction);
// процедура Button2click (отправитель: tobject);
Частный
{Частные объявления}
публичный
{Публичные объявления}
конец;
вар
Форма1: tform1;
// объявить эти две переменные как глобальные переменные
Fword: вариант;
FDOC: вариант;
Выполнение
{$ R *.dfm}
Процедура tform1.button1click (отправитель: tobject);
Начинать
Fword.selection.typeparagraph;
Fword.selection.typetext (text: = form1.edit1.text);
конец;
Процедура tform1.formcreate (отправитель: tobject);
Начинать
// сначала создать объект и дать подсказку, если происходит исключение
пытаться
Fword: = createoleObject ('word.application');
// Является ли выполнение программы Word?
Fword.visible: = false;
кроме
ShowMessage ('Создать объект слова не удалось!');
Выход;
конец;
// Сначала создайте новую страницу в открытом словом, а затем введите «Привет» + Enter + «World!»
пытаться
Fdoc: = fword.documents.add;
Fword.selection.typetext (text: = 'hello,');
Fword.selection.typeparagraph;
Fword.selection.typetext (text: = 'world!');
кроме
на E: Исключение Do
ShowMessage (E.Message);
конец;
конец;
// Сохранить содержимое файла в текущий каталог, когда программа закрыта и названа в честь test.doc
// Закрытие программы слова одновременно
Процедура tform1.formClose (отправитель: tobject; var action: tcloseaction);
Начинать
Fdoc.saveas (extractfilepath (application.exename) +'test.doc');
Fword.quit;
Fword: = не назначен;
конец;
конец.
Кроме того, операции в других офисных файлах относительно похожи, поэтому я не буду вдаваться в подробности. Этот метод также может завершить более сложные операции документов посредством ссылок на более сложные макросы VBA в файлах Word.