如何用vba单独设置word页面的纸张方向?

要用vba设置word文档的页面纸张方向为横向还是纵向,需要用到PageSetup对象。

在word vba中Document 、Range、Selection、Section 对象均可以返回PageSetup对象。

要设置页面的纸张方向需要设置PageSetup对象的Orientation属性。

以下VBA代码举例说明了如何在word文档中插入一个空白页,并且设置空白页的页面纸张方向:

Sub QQ1722187970()
    Word.Selection.InsertNewPage
    With Word.Selection.PageSetup
        '横向
        .Orientation = wdOrientLandscape
'        纵向
        .Orientation = wdOrientPortrait
    End With
End Sub

用上述方法虽然设置了纸张方向,但是会把所有页的纸张方向都统一设置。

为了实现只单独设置某张的纸张方向,需要插入分节符,代码如下:

Sub QQ1722187970()
    '当前位置插入一个分节符
    Word.Selection.InsertBreak wdSectionBreakNextPage
    '继续插入一个分节符
    Word.Selection.InsertBreak wdSectionBreakNextPage
    '定位到中间的页面
    Word.Selection.Move wdSection, -1
    With Word.Selection.PageSetup
        .Orientation = wdOrientLandscape
    End With
End Sub
       

发表评论