在我的位置上,由于页面方向的改变,我们可能会格式化包含多个部分的检查文档。对纵向和横向方向的边距尺寸应该有什么限制。 我想要实现的是一个宏,它将通过当前打开的文档,检查每个部分的方向并调整边距/标题/纸张大小(根据页面是纵向还是横向不同) 这是我到目前为止所做的,但它只会将边距更改为Landscape设置中的边距并忽略页眉/页脚:
If PageSetup.Orientation = wdOrientPortrait Then
PageSetup.LeftMargin = CentimetersToPoints(3.17)
PageSetup.RightMargin = CentimetersToPoints(3.17)
PageSetup.TopMargin = CentimetersToPoints(2.23)
PageSetup.BottomMargin = CentimetersToPoints(2.21)
PageSetup.PaperSize = wdPaperLetter
PageSetup.HeaderDistance = CentimetersToPoints(0.96)
PageSetup.FooterDistance = CentimetersToPoints(0.94)
ElseIf PageSetup.Orientation = wdLandscapeOrientation Then
PageSetup.LeftMargin = CentimetersToPoints(2.21)
PageSetup.RightMargin = CentimetersToPoints(2.23)
PageSetup.TopMargin = CentimetersToPoints(3.17)
PageSetup.BottomMargin = CentimetersToPoints(3.17)
PageSetup.PaperSize = wdPaperLetter
PageSetup.HeaderDistance = CentimetersToPoints(1.9)
PageSetup.FooterDistance = CentimetersToPoints(1.9)
End If
Selection.GoToNext wdGoToSection
你能帮我解决一些例子或工作代码吗?以上以最简单的方式显示了我的概念,但是我没有创建word宏的经验。
答案 0 :(得分:0)
您可以尝试使用answers.microsoft.com找到并改编的代码:
With ActiveDocument.PageSetup
If .Orientation = wdOrientPortrait Then
.PaperSize = wdPaperLetter
.TopMargin = CentimetersToPoints(2.23)
.LeftMargin = CentimetersToPoints(3.17)
.RightMargin = CentimetersToPoints(3.17)
.BottomMargin = CentimetersToPoints(2.21)
Else
.PaperSize = wdPaperLetter
.TopMargin = CentimetersToPoints(3.17)
.LeftMargin = CentimetersToPoints(2.21)
.RightMargin = CentimetersToPoints(2.23)
.BottomMargin = CentimetersToPoints(3.17)
End If
End With
如果该代码适合您,请告诉我。