VBA代码无法以幻灯片模式运行

时间:2018-06-07 18:13:19

标签: vba powerpoint slideshow

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

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

1 个答案:

答案 0 :(得分:1)

当您处于幻灯片放映视图中时,PPT不会显示有关VBA代码中的错误的任何错误消息。这就是为什么你没有看到任何错误的原因,但如果它发生错误,你会看到一个错误:

sld = ActiveWindow.Selection.SlideRange.SlideIndex

您无法在幻灯片放映视图中选择任何内容,因此不能有.Selection对象。

而是使用它:

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

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

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