Range это область.незнаю как с одной цифрой (как в примере Range(b). но точно помню юзал диапазон,типа .Range(1,50).text:='блаблабал'.
Range также может содержать раздел,,абзац,таблицу и тд.
удобно тем что в переменные типа variant можно по ходу обработки текста присвоить нужные куски и потом работать с ними.
Сделать как на кратинке? ну мы же не видим структуру твоей таблийцы =)какие откуда значения брать.додумай сам...
В твоем примере наверное лучше просто последовательно писать текст лучше юзай не range а typetext
Код:
WordApp.Selection.Font.Size:=16;//формируем заголовок.шрифт 16
WordApp.Selection.Paragraphs.Alignment:=1;//по центру
WordApp.Selection.TypeText('Отчет по подразделениям');
//печатаем основной текст
WordApplication1.Selection.Font.Size:=12;
for i:=2 to ADOQuery1.RecordCount-1 do
begin
WordDocument1.selection.typetext(#13#10+ADOQuery1.FieldValues['podr']); //#13#10 чтоб на следующую стороку перешло
WordApp.Selection.Paragraphs.Alignment:=0;//по левому краю
WordApplication1.Selection.ParagraphFormat.Alignment:=$00000000;
WordApplication1.Selection.TypeParagraph;
WordDocument1.selection.typetext(ADOQuery1.FieldValues['sot_familiya']+' '+ADOQuery1.FieldValues['sot_imya']+' '+ADOQuery1.FieldValues['sot_otchestvo']);
WordApplication1.Selection.Font.Size:=12;
WordApplication1.Selection.ParagraphFormat.Alignment:=$00000000;
ADOQuery1.Next;
end;
да и кажется цикл у тебя не правильно написан,не ADOQuery1.RecordCount+1 а МИНУС 1,не? а то ошибка EOF будет