1

Тема: Нестандартные функции для таблиц 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)