我正在尝试为Powerpoint调试用户表单。当我使用编辑器中的运行按钮直接运行它时,这一切似乎都很完美。然而,当我尝试使用固定在masterslide中的按钮从演示模式运行它时,程序似乎突然崩溃。 表单将运行,当我按下确定时,我用于调试的第一个消息框将显示,然后没有。
这是代码
Private Sub OKBut_Click()
' Message Box Working
MsgBox ("OkBut running")
Dim oSlide As Slide
Dim lCurrentView As Long
' Get the current view type.
lCurrentView = ActiveWindow.ViewType
'These message boxes do not appear
MsgBox ("Test")
MsgBox (CStr(lCurrentView))
先谢谢你们
答案 0 :(得分:1)
ActiveWindow.ViewType仅适用于设计模式。当您运行幻灯片放映时,没有活动的窗口,它将抛出一个错误,这就是您没有点击消息框调用的原因。
答案 1 :(得分:0)
你是否在OKbut sub的末尾卸载表单?
Unload Me
不要隐藏它,因为这肯定会引起问题。
如果您使用幻灯片上的形状而不是ActiveX控件来触发表单,您可能还会发现用户体验会更好。当您在幻灯片/母版/布局上使用ActiveX控件时,Microsoft将显示大量详细的安全消息,甚至可能会阻止内容。
在标准模块中添加一个sub并将其指定给master上的形状:
Sub ShowMyForm(ClickedShape as Shape)
frmMyForm.Show
End Sub
最后,幻灯片放映期间会出错:
lCurrentView = ActiveWindow.ViewType
您可以使用以下方式在幻灯片放映模式中处理幻灯片放映窗口:
Application.SlideShowWindows(1)
如果您在幻灯片放映期间查找幻灯片索引,请使用以下命令:
ActivePresentation.SlideShowWindow.View.Slide.SlideIndex