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