簡體   English   中英

如何區分 PowerPoint 事件中的 SaveAs 調用和 Save 調用?

[英]How to Differentiate SaveAs call and Save call in PowerPoint events?

我正在為 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)

當我在 powerpoint 上執行保存操作 (Ctrl+S) 或 SaveAs (File -> SaveAs) 時,它會執行Application_PresentationBeforeSave()方法。

但是我需要區分這兩個調用(Ctrl+S 和 SaveAs)並相應地執行一些任務。 那么如何在 BeforeSave 方法中區分這兩個調用?

對於 Word,在Application_DocumentBeforeSave(ByVal Doc As Microsoft.Office.Interop.Word.Document, ByRef SaveAsUI As Boolean, ByRef Cancel As Boolean)有 SaveAsUI 標志,用於區分此方法是否已被 SaveAs 或 Ctrl+S 操作調用。

那么是否有任何標志/屬性可以區分 PowerPoint 中的相同內容?

您需要重新調整功能區按鈕的用途或將后台 UI 控件替換為您自己的控件,以便了解用戶在 UI 中選擇的操作。 如果是功能區控件,請參閱 MSDN 中Office Fluent Ribbon文章中的臨時重新調整命令用途 MSDN 中的以下文章深入介紹了 Backstage UI:

面向開發人員的 Office 2010 后台視圖簡介

為開發人員自定義 Office 2010 Backstage 視圖

如果使用 Ctrl+S 快捷鍵,您需要使用 Windows API 函數設置鍵盤掛鈎,請參閱使用快捷鍵調用 Office 加載項中的函數以了解更多信息。

感謝尤金給我展示了一種方法。 我的問題得到了解決。 我試過你的建議。

這是我的解決方案的描述。 我在 Ribbon.xml 中添加了函數調用

在 MySaveAs() 函數中,我設置了一個 glbal 變量。 並在 BeforeSave 方法中使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM