Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Показывать номер страницы

Delphi , Технологии , Макросы

Показывать номер страницы


 Sub ShowViewPageNo()
    ActiveDocument.Repaginate
    varTotalPages = Selection.Information(wdNumberOfPagesInDocument)
    varVertScrollPercent = ActiveDocument.ActiveWindow _
       .VerticalPercentScrolled
    varViewPage = Int((varVertScrollPercent / 100) * varTotalPages) + 1
    varIPPage = Selection.Information(wdActiveEndPageNumber)
    MsgBox "Your insertion point is on page [" & varIPPage & "]." + _
       "You are looking at page [" & varViewPage & "].""
 End Sub

Here's the translation of the text into Russian:

Макрос VBA, называемый ShowViewPageNo, предназначен для отображения текущего номера страницы документа Word и страницы, на которой находится курсор (вставка). Вот разбивка кода:

  1. ActiveDocument.Repaginate: эта строка перерасчитывает номера страниц в активном документе.
  2. varTotalPages = Selection.Information(wdNumberOfPagesInDocument): эта строка получает общее количество страниц в документе с помощью метода Selection.Information с константой wdNumberOfPagesInDocument.
  3. varVertScrollPercent = ActiveDocument.ActiveWindow.VerticalPercentScrolled: эта строка получает текущий процент скроллинга вертикальной панели активного окна.
  4. varViewPage = Int((varVertScrollPercent / 100) * varTotalPages) + 1: эта строка рассчитывает текущую страницу просмотра, умножая процент скроллинга на общее количество страниц, беря целую часть (используя функцию Int) и добавляя 1 для получения правильного номера страницы.
  5. varIPPage = Selection.Information(wdActiveEndPageNumber): эта строка получает номер страницы, на которой находится курсор, с помощью метода Selection.Information с константой wdActiveEndPageNumber.
  6. MsgBox "Ваш курсор находится на странице [" & varIPPage & "]. Вы смотрите на странице [" & varViewPage & "].": эта строка отображает сообщение, показывающее текущие номера страниц для обоих курсора и просмотра.

Альтернативное решение:

Вместо использования процента скроллинга вертикальной панели можно использовать метод Selection.Information(wdFirstCharacterLineNumber) для получения номера строки, на которой находится курсор. Затем можно рассчитать номер страницы на основе общего количества страниц в документе.

Здесь приведен обновленный вариант кода:

Sub ShowViewPageNo()
    ActiveDocument.Repaginate
    varTotalPages = Selection.Information(wdNumberOfPagesInDocument)
    varIPLine = Selection.Information(wdFirstCharacterLineNumber)
    varIPPage = Int(varIPLine / 66) + 1 'предполагая 66 строк на странице
    MsgBox "Ваш курсор находится на странице [" & varIPPage & "]."
End Sub

Обратите внимание, что это альтернативное решение предполагает стандартные 66 строки на страницу в документе Word. Вам может потребоваться коррекция этого значения в зависимости от вашего конкретного документа и форматирования.

В статье описывается макрос Visual Basic для Microsoft Word, который выводит информацию о текущей странице и местоположении курсора на странице.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Макросы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:19:43/0.0057640075683594/1