Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 722

•  TDictionary Custom Sort  6 724

•  Fast Watermark Sources  6 507

•  3D Designer  9 445

•  Sik Screen Capture  6 838

•  Patch Maker  7 288

•  Айболит (remote control)  7 230

•  ListBox Drag & Drop  6 090

•  Доска для игры Реверси  97 825

•  Графические эффекты  7 406

•  Рисование по маске  6 701

•  Перетаскивание изображений  5 556

•  Canvas Drawing  5 941

•  Рисование Луны  5 717

•  Поворот изображения  5 179

•  Рисование стержней  3 782

•  Paint on Shape  2 962

•  Генератор кроссвордов  3 904

•  Головоломка Paletto  3 103

•  Теорема Монжа об окружностях  3 913

•  Пазл Numbrix  2 577

•  Заборы и коммивояжеры  3 371

•  Игра HIP  2 312

•  Игра Go (Го)  2 211

•  Симулятор лифта  2 620

•  Программа укладки плитки  2 203

•  Генератор лабиринта  2 719

•  Проверка числового ввода  2 360

•  HEX View  2 696

•  Физический маятник  2 373

 
скрыть

Как работать с файлами 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):='Администрация';