Как работать с файлами MS Word или таблицами MS Excel
Автор: Sergey Arkhipov
A: Воспользоваться функцией CreateOLEObject и работать с VBA (Visual Basic
for Applications) или WordBasic.
NB: Обратите внимание на то, как устанавливаются именованные параметры у
процедур WordBasic'а, например, FileOpen(Name := 'myname.doc');
Пример проверен только на русском Word 7.0! Может, поможет...
unit InWord;
interfaceuses
...ComCtrls; // Delphi3
...OLEAuto; // Delphi2
[skip]
procedure TPrintForm.MPrintClick(Sender: TObject);
var
W: Variant;
S: string;
begin
S := VarToStr(Table1['Num']); //В D3 без промежуточной записи// в var у меня не пошло :(try// А вдруг где ошибка :)
W := CreateOleObject('Word.Basic');
// Создаем документ по шаблону MyWordDot// с указанием пути если он не в папке шаблонов Word
W.FileNew(Template := 'C:\MyPath\DB\MyWordDot', NewTemplate := 0);
// Отключение фоновой печати (на LJ5L без этого был пустой лист)
W.ToolsOptionsPrint(Background := 0);
// Переходим к закладке Word'a 'Num'
W.EditGoto('Num');
W.Insert(S);
//Сохранение
W.FileSaveAs('C:\MayPath\Reports\MyReport')
W.FilePrint(NumCopies := '2'); // Печать 2-х копийfinally
W.ToolsOptionsPrint(Background := 1);
W := UnAssigned;
end;
end;
{.....}
Статья посвящена работе с файлами MS Word и таблицами MS Excel в языке программирования Delphi, описывается использование функции CreateOLEObject и VBA (Visual Basic for Applications) или WordBasic для управления файлами и выполнения различных операций.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS