Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2011, 12:21   #1
FearDog
 
Регистрация: 09.12.2010
Сообщений: 5
По умолчанию Несколько таблиц в Word

Здравствуйте. Мне нужно создать две таблицы в Word. При нажатии на должо происходить примерно так:
  1. Создается название первой таблицы
  2. Создается первая таблица и заполняется из StringGrid1
  3. Создается название второй таблицы
  4. Создается вторая таблица и заполняется из (для упрощения) StringGrid1

Но у меня заполняется только первая таблица, а вторая доже рамку не имеет.
Вот код:
Код:
var
  W, Table, MyRange: Variant;
  Row, Col, i, j: Integer;
begin
  W := CreateOleObject('Word.Application');
  W.Documents.Add;
  W.Selection.TypeText('Таблица 1');
  MyRange := W.ActiveDocument.Range(W.ActiveDocument.Range. End - 1,
    W.ActiveDocument.Range. End - 1);
  W.ActiveDocument.Tables.Add(MyRange, StringGrid1.RowCount,
    StringGrid1.ColCount);
  Table := W.ActiveDocument.Tables.Item(1);
  Table.Style := 'Сетка таблицы';
  for i := 0 to StringGrid1.RowCount - 1 do
    for j := 0 to StringGrid1.ColCount - 1 do
      Table.Cell(i + 1, j + 1).Range.Text := StringGrid1.Cells[j, i];
  W.ActiveDocument.Range.InsertAfter('');
  W.ActiveDocument.Range.InsertAfter('Таблица 2');
  MyRange := W.ActiveDocument.Range(W.ActiveDocument.Range. End - 1,
    W.ActiveDocument.Range. End - 1);
  W.ActiveDocument.Tables.Add(MyRange, StringGrid1.RowCount,
    StringGrid1.ColCount);
  for i := 0 to StringGrid1.RowCount - 1 do
    for j := 0 to StringGrid1.ColCount - 1 do
      Table.Cell(i + 1, j + 1).Range.Text := StringGrid1.Cells[j, i];
  Table := W.ActiveDocument.Tables.Item(1);
  Table.Style := 'Сетка таблицы';
  W.Visible := True;
Заранее спасибо.

Последний раз редактировалось FearDog; 06.01.2011 в 12:30.
FearDog вне форума Ответить с цитированием
Старый 29.02.2012, 21:32   #2
alex97
Новичок
Джуниор
 
Регистрация: 29.02.2012
Сообщений: 1
Радость

Цитата:
Сообщение от FearDog Посмотреть сообщение
Здравствуйте. Мне нужно создать две таблицы в Word. При нажатии на должо происходить примерно так:
  1. Создается название первой таблицы
  2. Создается первая таблица и заполняется из StringGrid1
  3. Создается название второй таблицы
  4. Создается вторая таблица и заполняется из (для упрощения) StringGrid1

Но у меня заполняется только первая таблица, а вторая доже рамку не имеет.
Вот код:
Код:
var
  W, Table, MyRange: Variant;
  Row, Col, i, j: Integer;
begin
  W := CreateOleObject('Word.Application');
  W.Documents.Add;
  W.Selection.TypeText('Таблица 1');
  MyRange := W.ActiveDocument.Range(W.ActiveDocument.Range. End - 1,
    W.ActiveDocument.Range. End - 1);
  W.ActiveDocument.Tables.Add(MyRange, StringGrid1.RowCount,
    StringGrid1.ColCount);
  Table := W.ActiveDocument.Tables.Item(1);
  Table.Style := 'Сетка таблицы';
  for i := 0 to StringGrid1.RowCount - 1 do
    for j := 0 to StringGrid1.ColCount - 1 do
      Table.Cell(i + 1, j + 1).Range.Text := StringGrid1.Cells[j, i];
  W.ActiveDocument.Range.InsertAfter('');
  W.ActiveDocument.Range.InsertAfter('Таблица 2');
  MyRange := W.ActiveDocument.Range(W.ActiveDocument.Range. End - 1,
    W.ActiveDocument.Range. End - 1);
  W.ActiveDocument.Tables.Add(MyRange, StringGrid1.RowCount,
    StringGrid1.ColCount);
  for i := 0 to StringGrid1.RowCount - 1 do
    for j := 0 to StringGrid1.ColCount - 1 do
      Table.Cell(i + 1, j + 1).Range.Text := StringGrid1.Cells[j, i];
  Table := W.ActiveDocument.Tables.Item(1);
  Table.Style := 'Сетка таблицы';
  W.Visible := True;
Заранее спасибо.
Когда вторую таблицу создаешь 1 меняешь на 2:
Table := W.ActiveDocument.Tables.Item(1);
Table := W.ActiveDocument.Tables.Item(2);
2 таблица - это второй элемент, у меня 2 таблицы работают, нет проблем.
alex97 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS WORD. Формат текста и таблиц kaa1977 Общие вопросы Delphi 2 13.07.2010 12:56
Запись в несколько таблиц нескольких записей Лубышев SQL, базы данных 8 09.04.2010 17:42
Вставить несколько таблиц lede88 Общие вопросы Delphi 0 07.04.2010 06:52
Создание таблиц в MS WORD Andreykin2000 Помощь студентам 0 15.12.2009 16:48
несколько таблиц в одном DBGrid DaemonSAT БД в Delphi 3 06.07.2008 13:27