Создание таблиц и работа с ними. Создание, выделение и удаление таблиц в документе

   
На этом шаге мы рассмотрим простейшие операции с таблицами.

   
Документ Word может содержать таблицы, которые как объекты объединены в коллекцию Tables.
Как вытекает из вышесказанного, обычно эта коллекция принадлежит объекту "документ". Рассмотрим ее основные свойства и методы.

   
Свойство Count: integer содержит информацию о количестве таблиц в коллекции. Если в документе нет ни одной таблицы, то Count содержит ноль.

   
Метод Add добавляет новую таблицу в коллекцию. При создании таблицы определяются область, где будет создана
таблица, и ее основные параметры - количество столбцов и строк. Хотя коллекция таблиц и принадлежит документу,
тем не менее сама таблица может быть создана на любом объекте или месте документа, на котором это возможно.
Объект Item(tab) - элемент коллекции и представляет собой таблицу с порядковым номером tab данной коллекции.

   
Для демонстрации свойств и методов коллекции Tables создадим новый документ и в нем создадим таблицу.
Используем метод Add. Его спецификация в VB имеет следующий вид:

    expression.Add(Range, NumRows, NumColumns), 

где Range - область, на которой создается таблица, NumRows и NumColumns - количество
строк и столбцов создаваемой таблицы.

   
Рассмотрим использование метода Add в среде Delphi на примере приведенного ниже фрагмента программного текста.

procedure TForm1.Button1Click(Sender: TObject);
//Создание таблицы
begin
  W.ActiveDocument.Tables.Add(Range:=W.ActiveDocument.Range, 
                          NumRows:=2, NumColumns:=3);
end;

Текст этого приложения можно взять здесь (6,0 Кб).

   
Данная процедура создаст таблицу непосредственно в документе. Первый аргумент метода определяет область, где будет
создана таблица, - весь документ. Следующие аргументы определяют количество строк и столбцов. Если попробовать
вторично выполнить эту процедуру, то будет сгенерирована ошибка.

   
Для корректного создания следующей таблицы необходимо в качестве первого аргумента метода Add указать область,
которая свободна и не содержит таблицу. Для задания этой области можно использовать метод Range, который
рассматривался ранее, или, например, свойство End объекта Range.

   
Рассмотрим следующую процедуру, которая создает новую таблицу в докменте. В отличие от предыдущей, для
создания новой таблицы она использует область в конце документа.

procedure TForm1.Button3Click(Sender: TObject);
//Таблица в конце документа
var
   MyRange:Variant;
begin
   W.ActiveDocument.Range.InsertAfter(' ');
   MyRange:=W.ActiveDocument.Range(W.ActiveDocument.Range.End-1,
                  W.ActiveDocument.Range.End-1);
   W.ActiveDocument.Tables.Add(Range:=MyRange, NumRows:=2, NumColumns:=3);
end;

Текст этого приложения можно взять здесь (6,0 Кб).

   
Результат работы приложения изображен на рисунке 1:


Рис.1. Результат работы приложения

   
Данная процедура использует область в конце документа, в которой и создается новая таблица. За вновь созданной таблицей
вставляется пробел, который разделяет таблицы между собой. Если разделения нет, то вновь создаваемые таблицы
будут добавляться как строки к существующим таблицам.

   
Когда создано несколько таблиц, мы можем определить их количество. Это значение содержится в свойстве
Count коллекции Tables. Приведенная ниже процедура выводит список таблиц в компонент ListBox.

procedure TForm1.Button4Click(Sender: TObject);
//Количество таблиц
var a: integer;
begin
  ListBox1.Items.Clear;
  for a:=1 to W.ActiveDocument.Tables.Count do
    begin
      ListBox1.Items.Add('Таблица - '+IntToStr(a));
    end;
end;

Текст этого приложения можно взять здесь (8,0 Кб).

   
В результате выполнения этой процедуры компонент ListBox1 будет содержать список таблиц (рисунок 2).


Рис.2. Результат работы приложения

   
Используя объект Item коллекции Tables и порядковый номер таблицы, можно выделить любую таблицу из всего
списка таблиц документа для дальнейших манипуляций. Для выделения таблицы, которая содержится в коллекции,
используется метод Select объекта Item. Этот объект содержит все методы, коллекции и объекты,
присущие таблице как объекту.

   
Следующий фрагмент программы демонстрирует использование метода Select и метода Delete, удаляющего выбранную таблицу.

procedure TForm1.Button5Click(Sender: TObject);
//Удаление выбранной таблицы
begin
  W.ActiveDocument.Tables.Item(ListBox1.ItemIndex+1).Select;
  W.ActiveDocument.Tables.Item(ListBox1.ItemIndex+1).Delete;
end;

Текст этого приложения можно взять здесь (7,0 Кб).

   
Результат работы приложения изображен на рисунке 3:


Рис.3. Результат работы приложения

   
На следующем шаге мы рассмотрим форматы таблиц.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий