如何区分另存为调用和存储调用PowerPoint事件?(How to Differentiate S

2019-10-23 18:19发布

我书面方式加载项为PowerPoint 2010中,我使用PowerPoint的两种功能。

Application_PresentationBeforeSave(ByVal Pres As Microsoft.Office.Interop.PowerPoint.Presentation, ByRef Cancel As Boolean)

Application_PresentationSave(ByVal Pres As Microsoft.Office.Interop.PowerPoint.Presentation)

当我执行保存操作(按Ctrl + S)或另存为-上的PowerPoint(文件>另存为)它执行Application_PresentationBeforeSave()方法。

但我需要区分这两个调用(Ctril + S&另存为),并相应地执行一些任务。 所以,我怎么能区分在BeforeSave方法这两个调用?

至于字,在Application_DocumentBeforeSave(ByVal Doc As Microsoft.Office.Interop.Word.Document, ByRef SaveAsUI As Boolean, ByRef Cancel As Boolean)存在,其区分该方法是否已被称为另存为或Ctrl + S动作SaveAsUI标志。

那么,有没有标志/财产differtiate同样的事情,在PowerPoint中?

Answer 1:

你需要重新利用功能区按钮或替换为自己的后台UI控件,所以你会知道什么样的行动用户选择的UI。 在功能区控件的情况下看到了暂时的命令重新利用上的Office Fluent功能区在MSDN文章。 在后台UI是在深度MSDN中的以下文章中描述:

介绍Office 2010的Backstage视图为开发者

自定义Office 2010 Backstage视图为开发者

在按Ctrl + S快捷键的情况下,你需要使用Windows API函数设置一个键盘钩子,请参阅使用快捷键来调用一个Office的功能加载了更多的信息。



Answer 2:

感谢尤金用于显示我的方式。 我的问题得到了解决。 我想你的建议。

这里是我的解决方案的说明。 我在Ribbon.xml添加函数调用

在MySaveAs()函数I设置一个glbal变量。 而在BeforeSave mthod使用它。



文章来源: How to Differentiate SaveAs call and Save call in PowerPoint events?