powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Количество страниц в разделе
11 сообщений из 11, страница 1 из 1
Количество страниц в разделе
    #36476739
slevin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброе утро, добрый день и добрый вечер, в зависимости кто когда зашел..
С VBA познакомился относительно недавно.. Многое пока не понятно... куда какие методы и где какие свойства...
Вопрос такой... Как получить количество страниц в определенном разделе ? То есть у меня есть документ, который заполняется макросом, получающим переменные из SQL.. Получается так что этот документ состоит из множества разделов.. Каждый раздел представляет собой набор страниц - Первая страница с одним типом колонтитулов и остальные страницы с другими колонтитулами...
Вообщем хочу узнать как вот попасть на эти страницы в разделе.
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477195
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slevin,

Речь о документе в Word?
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477316
slevin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player,
блин ))) я как всегда... Не задаються у мееня темы на форумах..
Да WORD , конечно, WORD !
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477622
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slevin,

Если речь о том как перейти в нужный раздел, то в Word 2003 можно одним из двух способов.
1. В правом нижнем углу Word 2003 под вертикальной линейкой есть маленькая круглая кнопочка.
Жмём на неё левой кнопкой мышли, вылезут несколько других кнопок, выбрать кнопку в виде стрелочки "перейти", откроется окошко.
В нем выбрать "объект перехода". например раздел и в поле справа указать номер раздела к которому хотите перейти, например 2. нажать кнопку Перейти.
2. В самой нижней статусной строке Word 2003, там где выводиться номер текущей страницы, раздела, и т.п., сделать двойной клик мышью по одной их этих надписей. Так-же откроется окошко, аналогичное пункту 1.

Перед всем этим можно включить запись макроса и потом посмотреть результат.
Возможно поможет.
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477665
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например вот что у меня получилось.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst, Count:= 2 , Name:="" 'Переход в раздел 2.
 Selection.GoTo What:=wdGoToSection, Which:=wdGoToNext, Count:= 1 , Name:="" 'Переход в следующий раздел.
 Selection.GoTo What:=wdGoToSection, Which:=wdGoToPrevious, Count:= 1 , Name:="" 'Переход в предыдущий раздел.
 
 Selection.GoTo What:=wdGoToPage, Which:=wdGoToFirst, Count:= 4 , Name:="" 'Переход на страницу 4.
 Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Count:= 1 , Name:="" 'Переход на следующую страницу.
 Selection.GoTo What:=wdGoToPage, Which:=wdGoToPrevious, Count:= 2 , Name:="" 'Переход на 2 страницы назад.

Здесь wdGoToSection -соответствует разделу, wdGoToPage - странице.
wdGoToFirst -соответствует переходу непосредственно к разделу, странице (или чему-то другому) с номером заданным в Count .
wdGoToNext - соответствует переходу вперед на несколько разделов, страниц (или ещё чего-то) относительно текущего положения в соответствии с Count .
wdGoToPrevious - соответствует переходу назад на несколько разделов, страниц (или ещё чего-то) относительно текущего положения в соответствии с Count .
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477683
slevin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player,
Спасибо, буду пробовать..
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477751
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slevin,

Я бы ещё посоветовал для изучения свойств объектов Word попробовать такой макрос:

Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test()
 Dim wd

 Set wd = ActiveDocument
 Stop
End Sub

Т.е. запустить его, он остановиться на команде Stop, после этого зайти в меню View - Locals Window,
откроется окошко. В нем найти переменную wd и поизучать её внутренности.

Например таким способов выяснил, что количество страниц всего можно получить командой
Код: plaintext
MsgBox ActiveDocument.ActiveWindow.Panes( 1 ).Pages.Count
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477754
slevin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С переходами понятно, а вот как узнать сколько в текущем разделе страниц.. Именно количество нужно..Что бы потом по ним прыгать
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477784
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slevin,

Я в Word уже лет 10 не программирую, поэтому мало что помню.
Предполагаю, что можно перейти например в раздел 2, каким-то образом узнать, номер текущей страницы (к примеру n1), потом перейти к разделу 3 и каким-то образом узнать, номер текущей страницы (к примеру n2). Тогда количество страниц в разделе 2 будет равно n2-n1.
Как узнать номер текущей страницы, не знаю, поизучайте свойства переменной wd в моём предыдущем коде, возможно найдёте.
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477925
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что у меня получилось:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub Количество_страниц_в_разделе()
 Dim n As Integer
 Dim n1 As Integer
 Dim n2 As Integer
 Dim r As Integer
 
 r =  3  'Номер раздела
 
 Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst, Count:=r, Name:="" 'Переход в следующий раздел.
 n1 = Selection.Information(wdActiveEndAdjustedPageNumber)
 Selection.GoTo What:=wdGoToSection, Which:=wdGoToNext, Count:= 1 , Name:="" 'Переход в следующий раздел.
 n2 = Selection.Information(wdActiveEndAdjustedPageNumber)
 
 n = n2 - n1
 If n =  0  Then n = ActiveDocument.ActiveWindow.Panes( 1 ).Pages.Count - n1 +  1 
 MsgBox "В разделе " & r & " страниц " & n & " штук(а)", vbInformation
End Sub
...
Рейтинг: 0 / 0
Количество страниц в разделе
    #36477993
slevin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player, спасибо Вам большое ! надеюсь не зря я вас мучал и моя задумка с помощью этого кода воплотиться в жизнь )
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Количество страниц в разделе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]