- •Оглавление
- •Создание vba приложения
- •Задание 1
- •Автоматический запуск процедур
- •Границы таблицы
- •Свойства и методы объекта Table
- •Коллекция строк таблицы Rows
- •Работа с ячейками Запись информации в ячейки таблицы
- •Задание №3
- •Чтение информации из ячейки
- •Задание №4
- •Экспорт-импорт модулей
- •Задание №5
Границы таблицы
Этот код создаст таблицу с установками по умолчанию. Так границы таблицы могут оказаться невидимыми. Поэтому надо явно указать наличие внутренних и внешних границ.
Selection.Tables(1).Borders.InsideLineStyle = wdLineStyleSingle
Selection.Tables(1).Borders.OutsideLineStyle = wdLineStyleSingle
Необязательный параметр DefaultTableBehavior имеет по умолчанию значение wdWord8TableBehavior, в соответствии с которым ширина столбцов не должна изменяться. Если требуется, чтобы осуществлялся автободбор ширины, надо явно задать значение wdWord9TableBehavior.
Если реализуется автободбор, то четвертый параметр AutoFitBehavior определяет режим подбора ширины: в соответствии с содержимым (wdAutoFitContent), в соответствии с шириной окна (wdAutoFitWindow) или столбцы равного фиксированного размера, не зависящего от содержания (wdAutoFitFixed).
Метод Add возвращает объект типа Table, который представляет созданную таблицу.
Метод Item можно использовать для обращения к конкретной таблице по ее индексу (Selection.Tables.Item(1)). Но можно и обратить без этого метода
Selection.Tables(1).
Пример создания нового документа с таблицей, у которой ширина столбцов подбирается в соответствии с контекстом.
Sub NewTable()
Dim newDoc As Document
Dim newTable As Table
Set newDoc = Application.Documents.Add
Set newTable = ActiveDocument.Tables.Add(Selection.Range, 1, 4, _ wdWord9TableBehavior, wdAutoFitContent)
' задаем границы и шрифт
newTable.Borders.InsideLineStyle = wdLineStyleSingle
newTable.Borders.OutsideLineStyle = wdLineStyleSingle
newTable.Range.Font.Size = 12
newTable.Range.Font.Bold = False
' заполняем заголовки столбцов
newTable.Cell(1, 1).Range.Text = " Номер"
newTable.Cell(1, 2).Range.Text = " Фамилия"
newTable.Cell(1, 3).Range.Text = "Дата"
newTable.Cell(1, 4).Range.Text = "Мероприятие"
End Sub
Свойства и методы объекта Table
Часто используемые свойства
Имя свойства |
Описание |
Borders |
Коллекция Borders, которая представляет все границы |
Columns |
Коллекция всех столбцов таблицы . Read-only. |
Range |
Область таблицы. |
Rows |
Коллекция строк таблицы. Read-only. |
Tables |
Коллекция вложенных таблиц. Read-only. |
Методы
Имя метода |
Описание |
Cell (i,j) |
Возвращает ячейку, находящуюся в i-ой строке и j-ом столбце. ActiveDocument.Tables(1).Cell(1,1).Range.Text="первая" |
ConvertToText |
Преобразует таблицу в текст и возвращает Range объект, в котором находится преобразованный текст. |
Delete |
Удаляет таблицу. |
Select |
Выделяет таблицу. |
Sort |
Сортирует таблицу. |
Коллекция строк таблицы Rows
Наиболее часто используются методы Add, Delete и Select.
Метод Add
RowsObject.Add(BeforeRow)
RowsObject – должен представлять объект типа Rows.
Не обязательный параметр BeforeRow указывает на строку, перед которой будет вставлена новая строка.
ActiveDocument.Tables(1).Rows.Add ActiveDocument.Tables(1).Rows(1)
Если параметр BeforeRow опущен, строка вставляется в конец таблицы.
