提问人:Katto Ishimura 提问时间:11/7/2023 更新时间:11/8/2023 访问量:46
是否有像 excel 中那样的 presentationclose 选项?[已结束]
Is there a presentationclose option like in excel? [closed]
问:
Hwello,
我在 excel 中有一个例程,位于 ThisWorkbook 模块中,它检测“保存”或“关闭”事件,并在执行“保存”或“关闭”之前执行一些命令。
Powerpoint 中有类似的东西吗?
谢谢
答:
- 您需要一个能够触发 PowerPoint 事件的类。因此,请在项目中插入一个类模块,将其命名为“clsPPEvents”,并将下一个代码粘贴到其中:
Option Explicit
Public WithEvents App As Application
Private Sub App_PresentationClose(ByVal Pres As Presentation)
MsgBox "Presentation """ & Pres.Name & """ is closing..."
'do here whatever you need to do before presentation closing...
End Sub
- 请复制标准模块中的下一个代码。它将初始化上述类以触发 PowerPoint 应用程序的事件:
Option Explicit
Public myApp As New clsPPEvents
Sub EnableEvents()
Set myApp.App = Application
End Sub
EnableEvents
演示文稿打开时必须调用 Sub。由于当时未启用 PowerPoint 事件,因此您需要找到一种方法来调用它以初始化类。它可以通过加载项(稍微复杂一些)或使用功能区事件 () (在打开所需的演示文稿时触发)来完成。我将向您展示第二种方式。OnLoad
3.1 复制标准模块中的下一个代码(与之前使用的相同,或另一个):
Public Sub onLoadRibbon(myRibbon As IRibbonUI)
Debug.Print "Ribbon Loaded" 'just to see that it has been called
EnableEvents 'initialize the events class
End Sub
保存演示文稿并将其关闭。
3.2 以上代码必须在加载时由 Ribbon 调用。因此,您需要下载“Office RibbonX 编辑器”(从这里。下载 zip 存档,将其内容解压缩到特定文件夹中,然后运行 .要了解如何使用它,请观看以下视频。它显示了如何在 Excel 功能区中使用,但必须以与 PowerPoint 完全相同的方式使用。
上述代码必须在加载期间由 Ribbon 调用。因此,您需要下载“Office RibbonX 编辑器”(从这里。下载 zip 存档,将其内容解压缩到特定文件夹中,然后运行 .要了解如何使用它,请观看以下视频。它显示了如何在 Excel 功能区中使用,但必须以与 PowerPoint 完全相同的方式使用。CustomUIEditor.exe
CustomUIEditor.exe
使用它并复制插入的下一个 XML 代码(对于 Office 2010 或更高版本):customUI14.xml
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
onLoad="onLoadRibbon" ></customUI>
或者 Office 2007 中的下一个:customUI.xml
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="onLoadRibbon" ></customUI>
插入这两个演示文稿将在高于 2007 的所有 Office 版本(包括 2007 版本)中正常工作。custom UI
按下可检查XML代码是否正确,如果正确,请按按钮。Validate
Save
- 现在,打开演示文稿,对它做任何你需要的事情,然后尝试关闭它。 事件将被触发,您将收到消息
App_PresentationClose
"Presentation " & Presentation Name & " is closing..."
请在测试建议的解决方案后发送一些反馈。
如果有些地方不够清楚,请不要犹豫,专门要求澄清
上一个:难以根据变量设置范围
评论
Sub
Sub
OnLoad