Вставка строк в таблицу Word
, Необходимо вставить пустые строки до конца листа
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.140] |
|
|
Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Общие вопросы
Особенности VBA-кода
Оптимизация VBA-кода
Полезные ссылки
Вставка строк в таблицу 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? |
|
Сообщ.
#16
,
|
|
|
|
kminas, используйте комбобокс Search Text (справа от него бинокль). В нем набирайте ActiveDocument, Tables и нажимайте бинокль. Смотрите Word Object Model в справке - там для каждого объекта прописаны все свойства и методы
А для того, чтобы со всем этим разобраться, лучше найти хорошую литературу |
|
Сообщ.
#17
,
|
|
|
|
Хорошая это какая?
|
|
Сообщ.
#18
,
|
|
|
|
Вообще, наиболее серьезная (по крайней мере, что мне встречалось) идет по Excel и Access, авторы такие как Уокенбах, Сирстад, Киммел, Гарнаев - но понятие будет и об остальных приложениях. Зарядите в интернет-магазине (в том же Ozon'е) - выдаст кучу
|
|
Сообщ.
#19
,
|
|
|
|
по поводу имеющейся литературы не все так однозначно - уж очень много сомнительного качества, но на фамилии, названные bi-lya, стоит обратить внимание, по поводу ACCESS так же можно посмотреть Полезные ссылки, документация, книги (Литвин. Гетц.), по WORD такого же уровня ничего не встречалось (именно русскоязычного). Советую (если есть возможность) посетить либо большие книжные магазины, либо книжные "развалы" по IT-тематике и оценить качество воочию.
|
|
Сообщ.
#20
,
|
|
|
|
bi-lya, Old Bat. У меня есть С.Браун. На Access не работаю, т.к. он у нас только на одном компе. Руководство говорит,что надо переходить на OpenOffice, но там другой Basic. Хотел бы у вас спросить, реально ли на него переучиться, но это, к сожалению, тема для другого раздела, к тому же информация по их языку текстого редактора пока очень скудные.
|
|
Сообщ.
#21
,
|
|
|
|
да, StarBasic - немного другая песня, хотя информации по нему вполне достаточно + в том же ОО вдобавок можно пользовать js и phyton. С другой стороны можешь обратить внимание на 10 версию Suse Linux Enterprise Edition. Входящая в состав дистрибутива версия ОО дружит с VBA.
|
|
Сообщ.
#22
,
|
|
|
|
Old Bat
Спасибо за подробную и интересную информацию! |