Вопрос
Как программно осуществить заполнение полей формы MS Word?
Ответ
При помощи следующего кода:
uses
ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
WordApp: OLEvariant;
begin
Screen.Cursor := crHourglass;
try
// Create Word Instance
WordApp := CreateOleObject('Word.Application');
except
ShowMessage('Не могу запустить MS Word.');
Screen.Cursor := crDefault;
Exit;
end;
try
// Открыть документ Word'а
WordApp.Documents.Add(Template := 'C:\TestDoc.doc');
// Показать Word
WordApp.Visible := True;
// Проверка на существование FormField и связаность с текстом
if WordApp.ActiveDocument.Bookmarks.Exists('YourFormFieldName') then
WordApp.ActiveDocument.FormFields.Item('YourFormFieldName').Result := 'Ваш текст';
finally
WordApp := Unassigned;
Screen.Cursor := crDefault;
end;
end;
Из конференции Delphi
Copyright 2000-2004 Сообщество Чайников
Контактная информация