Тема: Нестандартные функции для таблиц Word
Функция собирающая в коллекцию AllTables все таблицы активного докмента.
Встроенная коллекция таблиц Tables представлена в ограниченном диапазоне классов Word. Это объекты типа:
Document — область Range всего документа, причем в эту область не входят объекты: колонтитулы, сноски, текстовые надписи и пр.;
Range — область Range ограниченная параметрами Start и End;
Selection — выделение.
Для того чтобы собрать собрать полностью все таблицы активного документа я создал функцию AllTables. Вот её код:
Public Function AllTables() As Collection
Dim Story As Range, Table As Word.Table
Set AllTables = New Collection
For Each Story In ActiveDocument.StoryRanges
For Each Table In Story.Tables
AllTables.Add Table
Next Table
Next Story
End Function
Пример обращения к отдельной таблице с использованием функции AllTables:
Dim Tables As Collection ' Переменная принимающа значение AllTables
Dim Table As Table ' Переменная принимающая значение отдельной таблицы.
Set Tables = AllTables
Set Table = Tables(1)