Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2013, 23:33   #1
sid1868
Пользователь
 
Регистрация: 30.03.2010
Сообщений: 48
По умолчанию Ошибка при выгрузке таблицы DBGrid в WORD

нужно выгрузить таблицу DBGrid в WORD, прописываю следующий код бъед ошибку

Код:
var
fname:OleVariant;
i,j,k : integer;
a,b,c : OleVariant;
wa : TWordApplication; //WordApplication
wd : TWordDocument; //WordDocument
begin
//ñîçäàíèå íîâîãî äîêóìåíòà
  wa:= TWordApplication.Create(reportForm);
  wa.Connect;
  wa.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
  wd:= TWordDocument.Create(mainForm);
  wd.ConnectTo(wa.ActiveDocument);
//ïðîðèñîâêà òàáëèöû
  k:=1;
  wd.Tables.Add(wd.Range(a), mainForm.partners.RecordCount+1 , 10, EmptyParam, EmptyParam);
  wd.Tables.Item(k).Borders.InsideLineStyle := wdLineStyleSingle;
  wd.Tables.Item(k).Borders.OutsideLineStyle := wdLineStyleSingle;

  wd.Tables.Item(k).Cell(1,1).Range.Text:= 'nama';
  wd.Tables.Item(k).Cell(1,2).Range.Text:= 'data_zacl';
  wd.Tables.Item(k).Cell(1,3).Range.Text:= 'data_rac';
  wd.Tables.Item(k).Cell(1,4).Range.Text:= 'tarif';
  wd.Tables.Item(k).Cell(1,5).Range.Text:= 'tip';
  wd.Tables.Item(k).Cell(1,6).Range.Text:= 'kateg';
  wd.Tables.Item(k).Cell(1,7).Range.Text:= 'dogovor';
  wd.Tables.Item(k).Cell(1,8).Range.Text:= 'plat';
  wd.Tables.Item(k).Cell(1,9).Range.Text:= 'primich';
  For i:=1 To Form2.ADOTable1.RecordCount Do
  begin
    Form2.ADOTable1.RecNo:=i;

    if (Form2.ADOTable1.FieldValues['nama']<>null) then
      wd.Tables.Item(k).Cell(i+1,1).Range.Text:= Form2.ADOTable1.FieldValues['name'];
    if (Form2.ADOTable1.FieldValues['data_zacl']<>null) then
      wd.Tables.Item(k).Cell(i+1,2).Range.Text:= Form2.ADOTable1.FieldValues['data_zacl'];
    if (Form2.ADOTable1.FieldValues['data_rac']<>null) then
      wd.Tables.Item(k).Cell(i+1,3).Range.Text:= Form2.ADOTable1.FieldValues['data_rac'];
    if (Form2.ADOTable1.FieldValues['tarif']<>null) then
      wd.Tables.Item(k).Cell(i+1,4).Range.Text:= Form2.ADOTable1.FieldValues['tarif'];
    if (Form2.ADOTable1.FieldValues['tip']<>null) then
      wd.Tables.Item(k).Cell(i+1,5).Range.Text:= Form2.ADOTable1.FieldValues['tip'];
    if (Form2.ADOTable1.FieldValues['kateg']<>null) then
      wd.Tables.Item(k).Cell(i+1,6).Range.Text:= Form2.ADOTable1.FieldValues['kateg'];
    if (Form2.ADOTable1.FieldValues['dogovor']<>null) then
      wd.Tables.Item(k).Cell(i+1,7).Range.Text:= Form2.ADOTable1.FieldValues['dogovor'];
    if (Form2.ADOTable1.FieldValues['plat']<>null) then
      wd.Tables.Item(k).Cell(i+1,8).Range.Text:= Form2.ADOTable1.FieldValues['plat'];
    if (Form2.ADOTable1.FieldValues['primich']<>null) then
      wd.Tables.Item(k).Cell(i+1,9).Range.Text:= Form2.ADOTable1.FieldValues['primich'];
  end;
  For i:=1 To Form2.ADOTable1.RecordCount Do
    wa.Visible:=true;
  wa.Disconnect;
  Form2.ADOTable1.Filtered:=false;
 Form2.ADOTable1.Filter:='';


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.05.2013 в 09:25.
sid1868 вне форума Ответить с цитированием
Старый 13.05.2013, 10:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мдя... Ты явно любитель таить секреты государства...
Так держать - шпионы не пройдут.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Завершение потоков в dll при выгрузке 220Volt Общие вопросы C/C++ 7 11.02.2013 09:32
Формат столбца при выгрузке в Эксель Swatch Microsoft Office Access 3 02.11.2010 19:19
Крах при выгрузке DLL prizrak1390 Общие вопросы Delphi 15 11.09.2009 19:08
Как вычислять значения вне таблицы WORD, с использованием данных из таблицы WORD prikolist Microsoft Office Word 6 21.11.2008 13:17