在Microsoft Publisher VBA中,如何访问所选页面?

时间:2014-11-07 08:48:39

标签: vba publisher

在Publisher中,而不是VBA,我使用导航窗格选择第5页。现在,我手动完成的工作将应用于第5页。但是,现在我想运行一个我写的宏,它将导入,调整大小,标签等一批图像。如何让我的宏识别我想要将这些图像导入到第5页(我当前的工作页面)?

我将我的宏编写为第2页的硬连线(因为我无法回答上述问题): set pg = activedocument.pages(2)

我设想了类似的东西(当然,这当然没有用): set pg = activedocument.selected.page

类似地,在我的宏运行之后,它添加了三个新页面,我希望所选/活动页面是我添加的最后一页(例如,第9页)。怎么做?我再一次设想了类似的东西: activedocument.pages(9)。选择

非常感谢。

2 个答案:

答案 0 :(得分:1)

您找到的属性(帮助我,非常感谢!)是获取和设置的,但诀窍是您必须将其设置为页面,而不是尝试将其设置为PageIndex(“ActivePage”) = 2“)

ActiveDocument.ActiveView.ActivePage = yourPage;

例如,您可以使用以下命令转到下一页:

pubApp.ActiveDocument.ActiveView.ActivePage = pubApp.ActiveDocument.Pages[pubApp.ActiveDocument.ActiveView.ActivePage.PageIndex+1];

...刚刚意识到你在询问VBA而不是C#,所以这里有一些VBA示例适合你:

GoToNextPage()
    ActiveDocument.ActiveView.ActivePage = ActiveDocument.Pages(ActiveDocument.ActiveView.ActivePage.PageIndex + 1)
End Sub

GoToPageTwo()
    ActiveDocument.ActiveView.ActivePage = ActiveDocument.Pages(2)
End Sub

答案 1 :(得分:0)

回答问题1:

设置p = ActiveDocument.ActiveView.ActivePage

问题2仍然存在: 如何使用vba激活新的特定页面? (也就是说,我可以使用VBA,以便上面会为我返回“p”的不同页面?) 对于形状,我可以说:“my_shape.select”;如何为页面执行此操作?