【问题标题】:powerpoint run macro every time presentation hits first slide每次演示文稿点击第一张幻灯片时,PowerPoint 都会运行宏
【发布时间】:2023-04-09 05:12:01
【问题描述】:

我在我的 powerpoint 演示文稿 (2007) 中运行了一个宏来更新所有链接的 Excel 数据。如果我手动运行宏,它可以完美运行,但我试图将它设置为每次演示文稿返回到第一张幻灯片时自动运行。

在这里查看了几个类似的问题后,我将以下代码放在一起,但它似乎不起作用。当我点击幻灯片 1 时没有任何反应。

Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
If SSW.View.CurrentShowPosition = 1 Then

Dim osld As Slide
Dim oshp As Shape
On Error Resume Next
For Each osld In ActivePresentation.Slides
For Each oshp In osld.Shapes
oshp.LinkFormat.update
Next oshp
Next osld

End If
End Sub

有人有什么想法吗?

【问题讨论】:

    标签: macros powerpoint


    【解决方案1】:

    您的代码似乎正确并且应该可以工作,但 PowerPoint 有时无法正确实现 OnSlideShowPageChange。

    将 ActiveX 控件添加到幻灯片(甚至脱离幻灯片)通常可以解决问题。

    【讨论】:

    • 啊哈,这确实有效,在此过程中它帮助我找到了问题所在。我的幻灯片显然没有幻灯片“1”并且出于某种原因从 5 开始。只有在我打开 ActiveX 元素时才发现。我现在已经更改了它,并且代码无需 ActiveX 即可工作。谢谢你:)
    • 我很好奇为什么会这样。 CurrentShowPosition 应该返回当前节目中的位置(当然)或自定义节目中的位置,如果你在其中一个,但无论哪种方式,节目通常都以 1 开头。当然,如果你正在看幻灯片 5 并从那里开始放映,除非您备份,否则您永远不会到达 1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多