Как проверить поля страницы MS Word, используя скрипт VBA? - PullRequest
0 голосов
/ 27 мая 2018

Мне нужно проверить много документов Word на следующее:
Поля: слева = справа = сверху = снизу = конкретное значение, например (0,5 дюйма)

Я пытаюсь написать небольшой скрипт на VBAчто бы сообщить выше.Я только начал и в настоящее время смог найти около ActiveDocument.PageSetup, который предлагает 4 свойства для каждого из четырех полей.Я очень плохо знаком с VBA, и проверка на равенство не сработала для меня, вот что я попробовал:

Sub check()
  With ActiveDocument.PageSetup
     If (.LeftMargin = .RightMargin = .TopMargin = .BottomMargin = 72) Then
       MsgBox ("all margins equal to 72 points")
     Else
       MsgBox ("one or more margins not set to 72 points")
     End If  
  End With  
End Sub

Я продолжаю получать сообщение под Else.Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 28 мая 2018

Вместо того, чтобы вручную конвертировать все в точки, используйте функцию Word 'InchesToPoints'.Например:

Sub CheckMargins()
Dim StrMrgn As String, sMrgn As Single, StrOut As String
StrMrgn = InputBox("What is the required margin, in inches?", "Margin checker")
If Not IsNumeric(StrMrgn) Then Exit Sub
sMrgn = InchesToPoints(CSng(StrMrgn))
MsgBox sMrgn
With ActiveDocument.PageSetup
  If (.LeftMargin = sMrgn) And (.RightMargin = sMrgn) And (.TopMargin = sMrgn) And (.BottomMargin = sMrgn) Then
       StrOut = "All margins"
     Else
       StrOut = "One or more margins not"
     End If
End With
MsgBox StrOut & " equal to " & StrMrgn & " inches."
End Sub
...