0

我有一个需要不断循环以不断显示信息的 Powerpoint 演示文稿。我希望一张幻灯片中链接的 Excel 工作表对象在每次显示该幻灯片时刷新其数据,在循环演示文稿中显示更新的数据。

我该怎么做呢?

4

1 回答 1

2

进行更新的代码只有一行:

ActivePresentation.Slides(2).Shapes(1).LinkFormat.Update

您可以通过索引号或名称Slides来引用两者。Shapes上面的示例更新了第Shape2 个对象上第 1 个对象的链接Slide。您需要按照以下步骤使该代码在适当的时间触发。

从 Microsoft Office 文档:

如何:将事件与应用程序对象一起使用

为Application对象的事件创建事件处理器,需要完成以下三个步骤:

  1. 在类模块中声明一个对象变量以响应事件。
  2. 编写具体的事件程序。
  3. 从另一个模块初始化声明的对象。

声明对象变量

在为 Application 对象的事件编写过程之前,您必须创建一个新的类模块并声明一个带有事件的 Application 类型的对象。例如,假设创建了一个新的类模块并将其称为 EventClassModule。新的类模块包含以下代码。

VBA

 Public WithEvents App As Application 

编写事件过程

用事件声明新对象后,它出现在类模块的对象列表中,您可以为新对象编写事件过程。(当您在对象列表中选择新对象时,该对象的有效事件将列在过程列表中。)从过程列表中选择一个事件;一个空过程被添加到类模块中。

VBA

Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
    ActivePresentation.Slides(2).Shapes(1).LinkFormat.Update
End Sub

初始化声明的对象

在程序运行之前,您必须将类模块(本例中为 App)中声明的对象与 Application 对象连接起来。您可以使用任何模块中的以下代码执行此操作。

VBA

Dim X As New EventClassModule 
Sub InitializeApp()
   Set X.App = Application 
End Sub  

运行 InitializeApp 过程。程序运行后,类模块中的App对象指向Microsoft Office PowerPoint Application对象,当事件发生时,类模块中的事件程序将运行。

于 2013-08-07T20:08:00.610 回答