如何从幻灯片模式更新幻灯片母版并使用 VBA 刷新当前幻灯片?

如何从幻灯片模式更新幻灯片母版并使用 VBA 刷新当前幻灯片?

我正在尝试在 PowerPoint 演示文稿的所有幻灯片中设置一个计数器。计数器需要由所有幻灯片中的一个按钮控制,以增加其值。

我可以对一张特定的幻灯片执行此操作,但当我使用幻灯片母版执行此操作时,幻灯片放映模式下屏幕不会刷新。我必须退出幻灯片放映并再次进入才能看到更改。

幻灯片模式下不刷新的代码:

ctr = ctr + 1
ActivePresentation.Designs(1).SlideMaster.Shapes("Counter").TextFrame2.TextRange.Text = ctr

有效的代码(但仅适用于一张幻灯片,而不是演示文稿中的所有幻灯片):

ctr = ctr + 1
ActivePresentation.Slides(1).Shapes("Counter").TextFrame2.TextRange.Text = ctr

谢谢!

答案1

那直接插入‹编号›无需 VBA 即可进入文本框。这将自动更新。

或者直接点击幻灯片编号当光标位于文本框中时,在菜单栏的“插入”选项卡中

答案2

我遇到了同样的问题。我不知道该怎么做,但下面有一个解决方法。这将快速打开幻灯片,然后返回幻灯片,强制其更新。

Sub ForceScreenUpdate()
Dim lSlideIndex As Long
lSlideIndex = SlideShowWindows(1).View.CurrentShowPosition
ActivePresentation.SlideShowWindow.View.Exit
ActivePresentation.SlideShowSettings.Run
SlideShowWindows(1).View.GotoSlide lSlideIndex
End Sub

相关内容