Здраствуйте, я уже в отчаянии.
Как быть в такой ситуации?
таблица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;