На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки

1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость - сестра таланта.
3. Не забывайте использовать теги [сode=vba] ...текст программы... [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Модераторы: Old Bat, MIF
  
> Вставка строк в таблицу Word , Необходимо вставить пустые строки до конца листа
    Необходимо вставить необходимое количество пустых строк в таблицу, чтобы курсор перешел на следующую страницу. Разрыв не подходит, т.к. на листе должна быть таблица.
      почему не подходит - судя по первой фразе таблица на листе и так уже есть. Опиши конечную цель всех действий.
        Изначально есть одна строка. Количество строк добавляется, по мере заполнения таблицы.
        После окончания раздела необходимо вставить пустые строки и начать заполнение таблицы с нового листа.
        Посчитал. На первой странице помещается 26 строк, на остальных - 28.
        Сообщение отредактировано: kminas -
          Цитата kminas @
          Посчитал. На первой странице помещается 26 строк, на остальных - 28.

          Кроме того, количество строк зависит от: шрифта, принтера, параметров страницы и т.п.
          Скидал, что пришло в голову:
          ExpandedWrap disabled
            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
          Предвидя реакцию достопочтенного Old Bat'а и других уважаемых: Selection, конечно, нездоровая весчь, но Rectangles - IMHO - еще более...
          :rolleyes:
            Цитата bi-lya @
            Кроме того, количество строк зависит от: шрифта, принтера, параметров страницы и т.п.
            Скидал, что пришло в голову:
            ExpandedWrap disabled
              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 мм.
              bi-lya, Спасибо, Вы попали в цель!
                bi-lya
                Приладил код, работает, но не могу поставить условие, чтобы он не работал при отсутствии строк в таблице (наличии лишь одной строки). Иначе он пропускает первую страницу.
                  ExpandedWrap disabled
                    Sub AddStr()
                      With Selection
                        If ActiveDocument.Tables(1).Rows.Count > 1 Then
                          '''''''
                        Else
                          ' а сюда, например, вставляем разрыв
                        End If
                      End With
                    End Sub
                    Цитата bi-lya @
                    ExpandedWrap disabled
                      Sub AddStr()
                        With Selection
                          If ActiveDocument.Tables(1).Rows.Count > 1 Then
                            '''''''
                          Else
                            ' а сюда, например, вставляем разрыв
                          End If
                        End With
                      End Sub

                    Спасибо, а где такие параметры можно найти? А то разные варианты перепробовал, а до такого сам не дошел.
                      Ну вообще-то все свойства и методы можно найти в Object Brouser - нажимаем F2 в VBE и смотрим.
                      :)
                        Не VBE, а VBA, наверно. Ничего не нашел. Только
                        ExpandedWrap disabled
                          Rows.Count
                          VBA - это язык, VBE - это редактор (Editor) ;)
                          Так а вы что хотели бы найти? Смотрите в справке VBA Word Object Model, я думаю будет понятнее.
                            Например, Selection
                            ActiveDocument.Tables(1).Rows.Count
                              Наверное все-таки вам нужен метод Select, я подозреваю. Смотрите Object Brouser - он есть и у Tables, и у Rows
                              ExpandedWrap disabled
                                ActiveDocument.Tables(1).Select
                                ActiveDocument.Tables(1).Rows(2).Select

                              Ну и Selection тоже есть
                                Да я Ваш код переписал и пытался найти в Object Brouser. Так вот Members of "Tables": Application, Count, Creator, NestingLevel, Parent, Add и Item и все.
                                ActiveDocument вообще нет, а у Document в членах Tables тоже нет.
                                Может у нас разный Brouser?
                                  kminas, используйте комбобокс Search Text (справа от него бинокль). В нем набирайте ActiveDocument, Tables и нажимайте бинокль. Смотрите Word Object Model в справке - там для каждого объекта прописаны все свойства и методы
                                  А для того, чтобы со всем этим разобраться, лучше найти хорошую литературу
                                    Хорошая это какая?
                                      Вообще, наиболее серьезная (по крайней мере, что мне встречалось) идет по Excel и Access, авторы такие как Уокенбах, Сирстад, Киммел, Гарнаев - но понятие будет и об остальных приложениях. Зарядите в интернет-магазине (в том же Ozon'е) - выдаст кучу
                                        по поводу имеющейся литературы не все так однозначно - уж очень много сомнительного качества, но на фамилии, названные bi-lya, стоит обратить внимание, по поводу ACCESS так же можно посмотреть Полезные ссылки, документация, книги (Литвин. Гетц.), по WORD такого же уровня ничего не встречалось (именно русскоязычного). Советую (если есть возможность) посетить либо большие книжные магазины, либо книжные "развалы" по IT-тематике и оценить качество воочию.
                                          bi-lya, Old Bat. У меня есть С.Браун. На Access не работаю, т.к. он у нас только на одном компе. Руководство говорит,что надо переходить на OpenOffice, но там другой Basic. Хотел бы у вас спросить, реально ли на него переучиться, но это, к сожалению, тема для другого раздела, к тому же информация по их языку текстого редактора пока очень скудные.
                                          Сообщение отредактировано: kminas -
                                            да, StarBasic - немного другая песня, хотя информации по нему вполне достаточно + в том же ОО вдобавок можно пользовать js и phyton. С другой стороны можешь обратить внимание на 10 версию Suse Linux Enterprise Edition. Входящая в состав дистрибутива версия ОО дружит с VBA.
                                              Old Bat
                                              Спасибо за подробную и интересную информацию!
                                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                              0 пользователей:


                                              Рейтинг@Mail.ru
                                              [ Script execution time: 0.1058 ]   [ 16 queries used ]   [ Generated: 19.06.26, 21:19 GMT ]