![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здраствуйте, я уже в отчаянии.
Как быть в такой ситуации? таблица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; |