Word 宏 - 设置所选页面的方向

Word Macro - set orientation of selected page

我正在尝试创建一个宏,用户可以在文档中 select table 并将其所在的特定页面的方向切换为横向。我已经尝试过录制动作和自己编写宏,但它似乎永远无法正常工作。这和我得到的一样接近,但它使 table 页面打开,并且它之前的所有内容都是横向的。

Sub TableLandscape()
'
' TableLandscape Macro
'
'
    'Selection.Collapse Direction:=wdCollapseEnd
    'Selection.InsertBreak Type:=wdSectionBreakContinuous
    'ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start).Collapse Direction:=wdCollapseStart

    'Selection.InsertBreak _
         Type:=wdSectionBreakNextPage
    Selection.Start = Selection.Start + 1

    ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
         Type:=wdSectionBreakNextPage

    With Selection.PageSetup
        .LineNumbering.Active = False
        .Orientation = wdOrientLandscape
        .TopMargin = InchesToPoints(1)
        .BottomMargin = InchesToPoints(1)
        .LeftMargin = InchesToPoints(1)
        .RightMargin = InchesToPoints(1)
        .Gutter = InchesToPoints(0)
        .HeaderDistance = InchesToPoints(0.6)
        .FooterDistance = InchesToPoints(0.5)
        .PageWidth = InchesToPoints(11)
        .PageHeight = InchesToPoints(8.5)
        .FirstPageTray = wdPrinterDefaultBin
        .OtherPagesTray = wdPrinterDefaultBin
        .SectionStart = wdSectionContinuous
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .VerticalAlignment = wdAlignVerticalTop
        .SuppressEndnotes = False
        .MirrorMargins = False
        .TwoPagesOnOne = False
        .BookFoldPrinting = False
        .BookFoldRevPrinting = False
        .BookFoldPrintingSheets = 1
        .GutterPos = wdGutterPosLeft
    End With

    'ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
         'Type:=wdSectionBreakNextPage

End Sub

操作方法如下:

Sub RotatePage()
    Dim TableRange As Range, TableStart As Range, TableEnd As Range
    Set TableRange = Selection.Tables(1).Range
    Set TableStart = TableRange.Duplicate
    With TableStart
        .SetRange Start:=TableStart.Start - 1, End:=TableStart.End
        .Collapse Direction:=wdCollapseStart
        .InsertBreak Type:=wdSectionBreakNextPage
    End With
    Set TableEnd = TableRange.Duplicate
    With TableEnd
        .SetRange Start:=TableEnd.Start, End:=TableEnd.End + 1
        .Collapse Direction:=wdCollapseEnd
        .InsertBreak Type:=wdSectionBreakNextPage
    End With
    TableRange.PageSetup.Orientation = wdOrientLandscape
End Sub