0

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

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

我设想了类似的东西(但这当然行不通): set pg = activedocument.selected.page

同样,在我的宏运行后,它添加了三个新页面,我希望选定/活动页面是我添加的最后一页(例如,第 9 页)。怎么做?同样,我设想了类似:activedocument.pages(9).select

非常感谢。

4

2 回答 2

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
于 2015-09-22T20:10:16.340 回答
0

问题 1 已回答:

设置 p = ActiveDocument.ActiveView.ActivePage

问题 2 仍然存在:如何使用 vba 激活新的特定页面?(即,我可以使用 VBA 以使上面的内容返回给我一个不同的“p”页面?)对于一个形状,我可以说:“my_shape.select”;我该如何为页面做到这一点?

于 2014-11-08T01:25:03.123 回答