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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.04.2010, 15:39
lede lede вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 1
Репутация: 10
По умолчанию Из Stringgrid в Word

Здравствуйте! Очень нужна помощь!

Необходимо в Word вставить несколько таблиц с данными из разных Stringgrid.
Одну таблицу получается вставить, а следующую - нет.
Код:
uses ComObj
....
procedure TForm1.SpeedButton8Click(Sender: TObject);
var
 W, Table, Table2: Variant;
 Row, Col, i, j: Integer;
 s: string;
begin
//создаем документ
 W := CreateOleObject('Word.Application');
 W.Documents.Add;

//Создаем таблицу. clnum - это моя переменная, которая содержит число строк.
 W.ActiveDocument.Tables.Add(W.ActiveDocument.Range,
 clnum+1, main.ColCount-9);

//Выбираем созданную таблицу
 Table := W.ActiveDocument.Tables.Item(1);

//Прорисовываем сетку  
Table.Style := 'Сетка таблицы';

//Загоняем в таблицу данные из StringGrid (main).
 for i := 1 to clnum+1 do
   for j := 1 to 9 do
   begin

// первую колонку таблицы оставляем пустой, так как туда и надо будет загнать то, что прописано в 3-ем пункте.
     Table.Cell(i + 1, j).Range.Text := main.Cells[j, i];

// назначаем стиль таблицы
     Table.Cell(i, j).Range.Font.name:='ISOCPEUR';
     Table.Cell(i, j).Range.Font.size:=11;
     Table.Cell(i, j).Range.Font.italic := 2;
     end;

// В первую ячейку загоняем то, о чем писалось в 3-ем пункте Fg м3
 Table.Cell(1, 1).Range.Select;
 s := 'F';
 W.Selection.TypeText(s);
 W.Selection.Font.Subscript := 1; //врубаем нижний регистр
 s := 'g';
 W.Selection.TypeText(s);
 W.Selection.Font.Subscript := 0; //отрубаем нижний регистр
 s := 'м';
 W.Selection.TypeText(s);
 W.Selection.Font.Superscript := 1; //теперь верхний
 s := '3';
 W.Selection.TypeText(s);
 W.Selection.Font.Superscript := 0; //отрубаем верхний

//открываем ворд
W.Visible := True;

Пробовала в том коде дописать:
 
var
W, Table, Table2: Variant;
...
begin
.....

 W.ActiveDocument.Tables.Add(W.ActiveDocument.Range,
4, 5);
 Table2 := W.ActiveDocument.Tables.Item(2);
Admin: Пользуемся тегами!

не получается, надо как-то сделать отступ от 1-ой таблицы

Последний раз редактировалось Admin, 08.04.2010 в 16:26.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter