当我更改幻灯片时,我正在尝试重置某些文本框和标签的内容,但我很难让它发挥作用。经过大量的谷歌搜索和搜索后,我想出了这个,但它似乎不起作用。我正在尝试在 PowerPoint 2013 和 2016 中使用 OnSlideShowPageChange 事件,但它似乎没有效果。我不习惯使用 PowerPoint vba,所以我可能做错了什么。
编辑:我设法找到重置标签文本的替代方法。当用户专注于其中一个文本框或将鼠标移到标签上时,我设法让它重置。但是,我仍然很想知道这个问题的答案;我不确定为什么我的代码不起作用。
如果有人能指出任何问题以及如何解决它们,我将不胜感激。
这是我到目前为止所得到的:
Public Sub OnSlideShowPageChange(ByVal Wn As SlideShowWindow)
Dim Sld As Slide
If Wn.View.CurrentShowPosition = 9 Then
'Perform Updates for slide #9
Set Sld = Application.ActivePresentation.Slides(9)
Sld.Shapes(TextBox_Form_Name).TextFrame.TextRange.Text = ""
Sld.Shapes(TextBox_Form_Email).TextFrame.TextRange.Text = ""
Sld.Shapes(TextBox_Form_Message).TextFrame.TextRange.Text = ""
Sld.Shapes(Label_Form_Info).TextFrame.TextRange.Text = ""
End If
If Wn.View.CurrentShowPosition = 18 Then
'Perform Updates for slide #18
Set Sld = Application.ActivePresentation.Slides(18)
Sld.Shapes(TextBox_Form_Name).TextFrame.TextRange.Text = ""
Sld.Shapes(TextBox_Form_Email).TextFrame.TextRange.Text = ""
Sld.Shapes(TextBox_Form_Message).TextFrame.TextRange.Text = ""
Sld.Shapes(Label_Form_Info).TextFrame.TextRange.Text = ""
End If
End Sub
我也尝试将形状名称放在语音标记中,但这似乎没有帮助。
顺便说一句,我需要代码在 PowerPoint 2013 和 2016 中都可以工作。