MS word macro vba For Each page

时间:2018-01-20 17:52:20

标签: vba ms-word word-vba

我的问题是我必须在microsoft office word中运行这个宏,它在页面的开头和末尾插入一个矩形 现在,宏用word注册,如下所示。

Sub Macro1()
'
' Macro1 Macro
'
'
    ActiveDocument.Shapes.AddShape(msoShapeRectangle, 0#, -23.65, 634.05, _
        45.15).Select
    Selection.ShapeRange.ScaleHeight 1.14, msoFalse, msoScaleFromTopLeft
    ActiveWindow.ActivePane.VerticalPercentScrolled = 51
    ActiveDocument.Shapes.AddShape(msoShapeRectangle, 0#, 812.4, 623.3, _
        92.45).Select
    ActiveWindow.ActivePane.VerticalPercentScrolled = 0
End Sub

我尝试像以下一样运行For Each:

Dim pages As Page

For Each pages in ActiveDocument
    'here I have pasted the contents of macro1 except the first and last line' 
Next Page

我的目标是为文档的每个页面重复录制的宏。 我请求你帮忙创建这个宏,因为它可以节省我一生的时间,谢谢。

谢谢大家

PS:如果你不明白的话,我不是母语为英语的人,请问我

1 个答案:

答案 0 :(得分:2)

为什么不使用页眉和页脚?在“插入”菜单上,单击“页眉”,“页脚”。 然后在页眉和页脚中插入一个矩形。这些矩形将出现在每个页面上。

以下代码也可以使用。将光标放在第一页上并执行。

Arrivederci。

Dim a
a = ActiveDocument.BuiltInDocumentProperties("Number of Pages")

For i = 1 To a
ActiveDocument.Shapes.AddShape(msoShapeRectangle, 0#, -23.65, 634.05, _
    45.15).Select
Selection.ShapeRange.ScaleHeight 1.14, msoFalse, msoScaleFromTopLeft
ActiveWindow.ActivePane.VerticalPercentScrolled = 51
ActiveDocument.Shapes.AddShape(msoShapeRectangle, 0#, 812.4, 623.3, _
    92.45).Select
ActiveWindow.ActivePane.VerticalPercentScrolled = 0
Selection.GoToNext what:=wdGoToPage
Next