1

Тема: Размеры текущей страницы

Пишу макрос для рисования рамочек.
В качестве параметров передаю размеры страницы Width, Height.

Получаю размеры так

    pageW = PointsToMillimeters(ActiveDocument.PageSetup.PageWidth)
    pageH = PointsToMillimeters(ActiveDocument.PageSetup.PageHeight)

При одном разделе в документе или нескольки с одинаковой ориентацией получаю правильные размеры. Если создать раздел с иной ориентацией, то получаю и для Width и для Height значение 3527778 mm = 9999999 points.

Как получить размеры листа в документе с  разделами разной ориентации?

2

Re: Размеры текущей страницы

Заменил

ActiveDocument.PageSetup

на

Selection.PageSetup

Заработало.

3

Re: Размеры текущей страницы

Заработать-то заработало, но причину вы так и не поняли. Или я ошибаюсь? Если у вас в документе несколько разделов с разной ориентацией страниц, то для получения размеров нужно обращаться не когда всему документу, а к каждому разделу.
Используя Selection вы неявно это и делаете

Лучше день потерять — потом за пять минут долететь!

4

Re: Размеры текущей страницы

Спасибо за пояснение.
Насколько я понял, без Selection тут все равно не обойтись.
Наиболее правильный вариант для страницы, на которой установлен курсор, получается такой?

Selection.Sections(1).PageSetup.PageHeight