VBA 代码在幻灯片模式下不工作

VBA code not working in slideshow mode

我有这段代码,它增加了当前幻灯片中文本框的值。在普通视图中工作正常,但出于某种原因在幻灯片视图中根本不起作用,它有什么问题?

Sub Label1Plus1()
Dim sld As Long

sld = ActiveWindow.Selection.SlideRange.SlideIndex
ActivePresentation.Slides(sld).Shapes("textbox1").TextFrame.TextRange.Text = ActivePresentation.Slides(sld).Shapes("textbox1").TextFrame.TextRange.Text + 1

End Sub
当您处于幻灯片放映视图时,

PPT 不会显示有关 VBA 代码错误的任何错误消息。这就是为什么你没有看到任何错误,但如果有,你会在它命中时看到错误:

sld = ActiveWindow.Selection.SlideRange.SlideIndex

幻灯片放映视图中不能select任何内容,因此不能有 .Selection 对象。

改用这个:

Dim Sld as Slide
Set Sld = SlideShowWindows(1).View.Slide.Shapes("mytextbox")

或者如果您更喜欢将 Sld 用作 Long 变量

Sld = SlideShowWindows(1).View.Slide.SlideIndex