2012-07-26 58 views
0

我正在尋找一種方法來通過使用Delphi的自動化來保護PowerPoint演示文稿。
在Word中,我可以發出此命令:帶有禁用功能區的Powerpoint保護模式 - 在Delphi中自動運行

If (WordDocument.ProtectionType = wdNoProtection) 
    Then WordDocument.Protect (3, VarTrue, VarProtectPass); 

在Excel中,我可以發出此命令:

{ If the file was NOT protected, then protect it } 
    For SheetIndex := 1 To ExcelWorkbook.Sheets.Count Do Begin 

    VarSheet := SheetIndex; 

    { Connect to the work sheet } 
    ExcelWorksheet.ConnectTo (ExcelWorkbook.Worksheets.Item [VarSheet] As _Worksheet); 

    ExcelWorksheet.Protect()... 

的問題是,我無法找到一個方法來做到這一點使用,將OfficeXP。 pas組件。我們在各種系統上運行Office 2010。有任何想法嗎?

我需要的是通過演示文稿打開幻燈片, 1)對於MenuItem1,不允許用戶進行任何編輯。此外,禁止他們重新保存在別的地方。 2)對於MenuItem2,允許用戶編輯演示文稿。

+2

http://msdn.microsoft.com/en-us/library/bb230554%28office.12%29.aspx但後來也看到[this](http://social.msdn.microsoft.com/Forums/ zh/innovateonoffice/thread/28aff4b7-06f3-46e0-a7d7-495e85bf6bb2) – 2012-07-26 20:12:07

+0

您希望自動執行的PowerPoint操作是什麼? – 2012-07-26 20:13:28

回答

0

的方法之一,這將是通過加載項陷阱事件:

陷阱的PresentationBeforeSave事件,如果需要的話,取消保存。

捕獲WindowSelectionChange事件,測試以查看所選內容(它由事件傳遞),並且在大多數情況下,DE選擇所選內容。如果用戶無法選擇某些內容,則無法編輯/更改。

可以基於狀態變量啓用/禁用事件處理例程;您可能會捕獲PresentationOpen事件,測試以確定新演示文稿是否是您的「受保護」演示文稿之一,如果是,請設置boolIsProtected = True;您的其他事件處理程序可以測試此變量,並在False時停止處理該事件。

+0

這並不回答問題,這是如何通過使用Delphi的自動化來實現的。 :-) – 2012-09-13 22:02:54

相關問題