Вставка строк в таблицу Word
, Необходимо вставить пустые строки до конца листа
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.140] |
|
|
Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Общие вопросы
Особенности VBA-кода
Оптимизация VBA-кода
Полезные ссылки | Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Вставка строк в таблицу Word
, Необходимо вставить пустые строки до конца листа
|
Сообщ.
#1
,
|
|
|
|
Необходимо вставить необходимое количество пустых строк в таблицу, чтобы курсор перешел на следующую страницу. Разрыв не подходит, т.к. на листе должна быть таблица.
|
|
Сообщ.
#2
,
|
|
|
|
почему не подходит - судя по первой фразе таблица на листе и так уже есть. Опиши конечную цель всех действий.
|
|
Сообщ.
#3
,
|
|
|
|
Изначально есть одна строка. Количество строк добавляется, по мере заполнения таблицы.
После окончания раздела необходимо вставить пустые строки и начать заполнение таблицы с нового листа. Посчитал. На первой странице помещается 26 строк, на остальных - 28. |
|
Сообщ.
#4
,
|
|
|
|
Цитата kminas @ Посчитал. На первой странице помещается 26 строк, на остальных - 28. Кроме того, количество строк зависит от: шрифта, принтера, параметров страницы и т.п. Скидал, что пришло в голову: ![]() ![]() Sub AddStr() With Selection nachStr = .Information(wdActiveEndPageNumber) Do Until .Information(wdActiveEndPageNumber) <> nachStr ActiveDocument.Tables(1).Rows.Add .EndKey Unit:=wdStory Loop End With End Sub |
|
Сообщ.
#5
,
|
|
|
|
Цитата bi-lya @ Кроме того, количество строк зависит от: шрифта, принтера, параметров страницы и т.п. Скидал, что пришло в голову: ![]() ![]() Sub AddStr() With Selection nachStr = .Information(wdActiveEndPageNumber) Do Until .Information(wdActiveEndPageNumber) <> nachStr ActiveDocument.Tables(1).Rows.Add .EndKey Unit:=wdStory Loop End With End Sub Спасибо, я попробую. Но в данном случае не зависит. Параметры страницы установлены в открываемом файле, шрифт тоже заранее установлен, высота строки 8 мм. |
|
Сообщ.
#6
,
|
|
|
|
bi-lya, Спасибо, Вы попали в цель!
|
|
Сообщ.
#7
,
|
|
|
|
bi-lya
Приладил код, работает, но не могу поставить условие, чтобы он не работал при отсутствии строк в таблице (наличии лишь одной строки). Иначе он пропускает первую страницу. |
|
Сообщ.
#8
,
|
|
|
|
![]() ![]() Sub AddStr() With Selection If ActiveDocument.Tables(1).Rows.Count > 1 Then ''''''' Else ' а сюда, например, вставляем разрыв End If End With End Sub |
|
Сообщ.
#9
,
|
|
|
|
Цитата bi-lya @ ![]() ![]() Sub AddStr() With Selection If ActiveDocument.Tables(1).Rows.Count > 1 Then ''''''' Else ' а сюда, например, вставляем разрыв End If End With End Sub Спасибо, а где такие параметры можно найти? А то разные варианты перепробовал, а до такого сам не дошел. |
|
Сообщ.
#10
,
|
|
|
|
Ну вообще-то все свойства и методы можно найти в Object Brouser - нажимаем F2 в VBE и смотрим.
|
|
Сообщ.
#11
,
|
|
|
|
Не VBE, а VBA, наверно. Ничего не нашел. Только
![]() ![]() Rows.Count |
|
Сообщ.
#12
,
|
|
|
|
VBA - это язык, VBE - это редактор (Editor)
Так а вы что хотели бы найти? Смотрите в справке VBA Word Object Model, я думаю будет понятнее. |
|
Сообщ.
#13
,
|
|
|
|
Например, Selection
ActiveDocument.Tables(1).Rows.Count |
|
Сообщ.
#14
,
|
|
|
|
Наверное все-таки вам нужен метод Select, я подозреваю. Смотрите Object Brouser - он есть и у Tables, и у Rows
![]() ![]() ActiveDocument.Tables(1).Select ActiveDocument.Tables(1).Rows(2).Select Ну и Selection тоже есть |
|
Сообщ.
#15
,
|
|
|
|
Да я Ваш код переписал и пытался найти в Object Brouser. Так вот Members of "Tables": Application, Count, Creator, NestingLevel, Parent, Add и Item и все.
ActiveDocument вообще нет, а у Document в членах Tables тоже нет. Может у нас разный Brouser? |