gpt4 book ai didi

vba - Powerpoint 事件处理 - 阻止新演示文稿

转载 作者:行者123 更新时间:2023-12-03 09:28:06 31 4
gpt4 key购买 nike

我正在创建一个 Powerpoint 加载项。我想限制用户:

  • 创建新演示文稿
  • 打开现有演示文稿

我用过this tutorial/overview捕获 NewPresentationPresentationOpen 事件。我想在用户与其交互之前关闭通过这些事件初始化的任何演示文稿。当我尝试使用 .Close 方法关闭它时,我收到一个错误(下面的屏幕截图)。

在我的类模块中,我有以下内容来捕获 NewPresentation 事件。这工作正常,我收到消息框,并且 Pres 是一个有效的演示对象,可以传递给 CloseNewPres 例程。

Private Sub PPTEvent_NewPresentation(ByVal Pres As Presentation)
MsgBox "You cannot use this Charting tool with multiple presentations.", vbInformation
CloseNewPres Pres
End Sub

在标准模块中,我有 CloseNewPres 例程,我希望它能够关闭“New”演示文稿:

Sub CloseNewPres(Pres As Presentation)
Application.Presentations(Pres.Name).Close
'Pres.Close '<~~ This also fails.'
End Sub

我收到以下错误。

Screenshot of error message

对于为什么会发生这种情况有什么想法吗?或者我可以做什么来结束这些演示文稿?

最佳答案

在我看来,您需要使用另一个与您使用的事件非常相似的事件:

Private Sub PPApp_AfterNewPresentation(ByVal Pres As Presentation)

如果我在建议的一个中设置Pres.Close,它确实会关闭新创建的演示文稿。

关于vba - Powerpoint 事件处理 - 阻止新演示文稿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16085889/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com