На главную Наши проекты:
Журнал   ·   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
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Вставка строк в таблицу 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?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.0811 ]   [ 15 queries used ]   [ Generated: 19.06.26, 20:10 GMT ]