Советы по Delphi

         

Как мне работать с файлами MS Word или таблицами MS Excel?


Nomadic отвечает:

A: Воспользоваться функцией CreateOLEObject и работать с VBA (Visual Basic for Applications) или WordBasic.

NB: Обратите внимание на то, как устанавливаются именованные параметры у процедур WordBasic'а, например, FileOpen(Name := 'myname.doc');

=== Cut Пример ===

Пример проверен только на русском 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;
{.....}

=== Cut Конец примера === [001561]



Содержание раздела