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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.04.2011, 08:24
Максон Максон вне форума
Прохожий
 
Регистрация: 10.02.2011
Сообщения: 19
Репутация: 10
Радость Ох, уж эта таблица Word

Здраствуйте, я уже в отчаянии.
Как быть в такой ситуации?

таблица1
В 4-х первых строках записанны данные.
Добавление строк начинается с 5-ой строки из Stringgrid с событием "есть".
Потом после этих строк 1-а объединенная строка с названием и начиная со следующей должно происходить добавление строк из Stringgrid с событием "нет".
Шаблон таблицы выглядит следующим образом.
1,2,3,4 строки таблицы шаблона - фиксированная запись
5 - добавление строк с событием "есть"
6 - фиксированная запись
7- добавление строк с событием "нет"
Код:
procedure TForm2.DocbtnClick(Sender: TObject);
var
W, T,M, N: Variant;
iRows :Integer;
i, j,q:Integer;

begin

W :=  CreateOleObject('Word.Application');
W.Visible:=True;
W.DisplayAlerts:=True;

try
 W.Documents.Open(GetCurrentDir +'\mmm.dot',EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam,
                             EmptyParam,EmptyParam,EmptyParam);
                 //  обозначение  таблицы ее номера
             T:=W.ActiveDocument.Tables.Item(1);
             // обозначение номера строки в определенной таблице
             N:=W.ActiveDocument.Tables.Item(1).Rows.Item(5);

   

    i:=0;

    j:=0;
    q:=i+7;//переменная указывающая количество строк в таблице1 с 5 строки
             
             // обозначение номера строки в определенной таблице }
             M:=W.ActiveDocument.Tables.Item(1).Rows.Item(q);

           //запуск цикла по строкам
    for   iRows:=1 to strngrd1.RowCount-1 do
    begin

 

         if strngrd1.Cells[19, iRows]='есть' then
         begin
             i:=i+1;
             T.Rows.Add(N);

             T.Cell(i+4 ,1).Range.Text:= IntToStr(i) + '.';
           
           end;
//Здесь все работает, нумерация  и добавление строк происходит нормально
             if strngrd1.Cells[19, iRows]='нет' then
             begin
                j:=j+1;
                T.Rows.Add(M);
                 

               T.Cell(j+q ,1).Range.Text:= IntToStr(j) + '.';
              //а здесь проблема

             end;
     end;

finally
end;
end;
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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