1

Тема: Определение размера бумаги в word

Добрый день!
Подскажите, пожалуйста, есть макрос в нем хочу указать, если размер бумаги А4, то запускать макрос, если размер бумаги А3, то запускать другой макрос. На куске кода возникает проблема с определением листа, формат листа задаю по ширине.

If Selection.PageSetup.PageWidth = CentimetersToPoints(21) Then

Call Basic_Stamp111(0, 0, False, False, False, 4, "ShR1")

Else

Call Basic_Stamp222(mm * 210 - kr, 0 - kb, False, False, False, 3, "ShR1")

End If


Когда переходит на строку If Selection.PageSetup.PageWidth = CentimetersToPoints(21) Then дальше переходит на строку Else и выполняется код Call Basic_Stamp222(mm * 210 - kr, 0 - kb, False, False, False, 3, "ShR1"), хоть и размер бумаги А4. Как сделать чтоб код проверял размер бумаги А4?

2

Re: Определение размера бумаги в word

Здесь, возможно, разные типы переменных или просто разный формат данных.
Иными словами Selection.PageSetup.PageWidth и CentimetersToPoints(21) не равны друг другу.
В любом случае не помешает посмотреть чему равны эти переменные. Это сделать можно, например, поставив мэсэдж бокс перед if

msgbox "размер страницы" & Selection.PageSetup.PageWidth & chr(13) & расчетное значение & CentimetersToPoints(21)

Вроде обычно ворд вычисляет в пикасах(picas), а не поинтсах(points), это надо проверить - тут я могу ошибаться.

3

Re: Определение размера бумаги в word

в коде ошибка - забыл кавычки правильно

msgbox "размер страницы" & Selection.PageSetup.PageWidth & chr(13) & "расчетное значение" & CentimetersToPoints(21)

4

Re: Определение размера бумаги в word

Выдало 595,3. Установила значение, все работает! Спасибо!

5

Re: Определение размера бумаги в word

Mari_, полезно посмотреть еще статью из блога на wordexpert "Макрос определения ориентации и формата страницы":
http://wordexpert.ru/page/makros-oprede … a-stranicy