Powerpoint保护模式与禁用功能区-在Delphi中自动



我正在寻找一种使用Delphi通过Automation保护powerpoint演示文稿的方法
在Word中,我可以发出以下命令:

  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。有什么想法吗?

我需要的是打开演示文稿的PPT,1) 对于MenuItem1,不允许用户进行任何编辑。此外,禁止他们将其重新保存到其他地方。2) 对于MenuItem2,允许用户编辑演示文稿。

一种方法是通过一个陷阱事件的插件:

捕获PresentationBeforeSave事件,如果需要,请取消保存。

捕获WindowSelectionChange事件,测试以查看所选内容(它由事件传递),在大多数情况下,DE选择所选内容。如果用户不能选择某个内容,他们就不能编辑/更改它。

可以根据状态变量启用/禁用事件处理例程;您可能会捕获PresentationOpen事件,测试新演示文稿是否是您的"受保护"演示文稿之一,如果是,请设置boolIsProtected=True;其他事件处理程序可以测试该变量,如果为False,则停止处理该事件。

最新更新