Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как работать с файлами 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):='Администрация';  

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay