скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook