Как работать с файлами 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;
interface
uses
...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;
{.....}


MyExcel:=CreateOleObject('Excel.Application');
MyExcel.visible:=true;
MyExcel.WorkBooks.Add;
MyExcel.Cells(1,1):='Администрация';


Далее: Как узнать автора файла документа »»