Вот мой макрос лайфхака, который использует линии сетки для отображения границ текста в стиле до 2013 года. Макрос включает / выключает границы.
Полученные границы немного улучшены: они расширяются на всю ширину и высоту страницы, пересекаясь по углам. Если вам нравятся границы, которые выглядят как прямоугольник, как это было в Office до 2013 года, удалите «в начале этой строки:
' ActiveDocument.GridOriginFromMargin = True
Недостаток: у всего документа будут одни и те же границы, поэтому, если у вас есть несколько разделов с разными полями, их границы будут такими же, как у раздела, который является текущим в момент запуска макроса.
Макрос:
Sub view_page_boundaries()
' provide page boundaries using a customised page grid
With Selection
ActiveDocument.GridOriginFromMargin = False
' uncomment to have page boundaries like standard for pre-2013
' ActiveDocument.GridOriginFromMargin = True
If ActiveDocument.GridOriginFromMargin = False Then
' display crossing boundaries at full width and height
ActiveDocument.GridDistanceHorizontal = .PageSetup.PageWidth - .PageSetup.LeftMargin - .PageSetup.Gutter - .PageSetup.RightMargin
ActiveDocument.GridDistanceVertical = .PageSetup.PageHeight - .PageSetup.TopMargin - .PageSetup.BottomMargin
Else
' display boundaries like those in pre-2013
' 0.05 is half-millimeter to prevent cutting off the right and bottom boundaries by the margins
ActiveDocument.GridDistanceHorizontal = CentimetersToPoints(Round(PointsToCentimeters( _
.PageSetup.PageWidth - .PageSetup.LeftMargin - .PageSetup.Gutter - .PageSetup.RightMargin), 1) - 0.05)
ActiveDocument.GridDistanceVertical = CentimetersToPoints(Round(PointsToCentimeters( _
.PageSetup.PageHeight - .PageSetup.TopMargin - .PageSetup.BottomMargin), 1) - 0.05)
ActiveDocument.GridOriginHorizontal = .PageSetup.LeftMargin + .PageSetup.Gutter
ActiveDocument.GridOriginVertical = .PageSetup.TopMargin
End If
If Options.DisplayGridLines = False Then
Options.DisplayGridLines = True
' do not need cropmarks at all with crossing boundaries
ActiveWindow.View.ShowCropMarks = False
ActiveDocument.GridSpaceBetweenHorizontalLines = 1
ActiveDocument.GridSpaceBetweenVerticalLines = 1
Else
ActiveDocument.GridOriginFromMargin = True
' display cropmarks when there are no boundaries
ActiveWindow.View.ShowCropMarks = True
ActiveDocument.GridSpaceBetweenHorizontalLines = 2
ActiveDocument.GridSpaceBetweenVerticalLines = 2
ActiveDocument.GridDistanceHorizontal = CentimetersToPoints(0.18)
ActiveDocument.GridDistanceVertical = CentimetersToPoints(0.32)
End If
End With
End Sub