Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #2  
Старый 24.11.2011, 16:53
Аватар для DelphiM0ZG
DelphiM0ZG DelphiM0ZG вне форума
Новичок
 
Регистрация: 22.10.2011
Сообщения: 62
Репутация: 666
По умолчанию

Вот пример:
Код:
procedure TMainNIRDBForm.ActionExportToWordExecute(Sender: TObject);
Var
  WordApp, WordTable: Variant;
  i, j, Index: Integer;
begin
  Try
    Try
      WordApp:=CreateOleObject('Word.Application');
    Except
      MessageBox(0,
        PChar('Ошибка!!! На этом компьютере не установлен Word!'+#13+
          'Установите Word на компьютер и попробуйте снова!'),
        PChar('Ошибка экспорта данных в Word'),
        MB_OK + MB_ICONERROR + MB_APPLMODAL + MB_TOPMOST);
      Exit;
    End;
    WordApp.Documents.Add;


(* если не нужна альбомная страница, то эту строку можно убрать,
а если нужна, то придётся подключить модуль WordXP *)
    WordApp.ActiveDocument.PageSetup.Orientation:=wdOrientLandscape;

    WordApp.ActiveDocument.Tables.Add(WordApp.ActiveDocument.Range,
      RecNum+1, сюда вписать число столбцов таблицы);
    WordTable:=WordApp.ActiveDocument.Tables.Item(1);
    WordTable.Style:='Сетка таблицы'; // можно поставить любой стиль, доступный в Word

(* если не нужны заголовки, то этот цикл не нужен *)

    For i:=1 To число столбцов таблицы Do
      Begin
        WordTable.Cell(1, i).Range.Font.Bold:=True; (* делаю заголовки жирные *)
        WordTable.Cell(1, i).Range.Text:='Заголовок';
      End;

    Index:=2; // индекс вывода (в Ворде нумерация с 1, а 1 - заголовки)
    For i:=1 To число столбцов таблицы Do
      Begin
        For j:=1 To число строк таблицы Do
          WordTable.Cell(Index, j).Range.Text:='текст для ячейки';
            
      End;

  Finally
    If Not(VarIsEmpty(WordApp)) Then WordApp.Visible:=True;
    WordApp:=UnAssigned;
  End;
end;
Для работы этого кода, нужно подключить модуль ComObj.

Последний раз редактировалось DelphiM0ZG, 24.11.2011 в 16:56.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025