0

Delphiを使用した自動化によってパワーポイントのプレゼンテーションを保護する方法を探しています。
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コンポーネントを使用してこれを行う方法が見つからないことです。さまざまなシステムでOffice2010を実行しています。何か案は?

必要なのは、プレゼンテーションでパワーポイントを開くことです。1)MenuItem1の場合、ユーザーによる編集を禁止します。また、他の場所に再保存することを禁止します。2)MenuItem2の場合、ユーザーがプレゼンテーションを編集できるようにします。

4

1 に答える 1

0

これに対する 1 つのアプローチは、イベントをトラップするアドインを使用することです。

PresentationBeforeSave イベントをトラップし、必要に応じて保存をキャンセルします。

WindowSelectionChange イベントをトラップし、何が選択されているか (イベントによって渡される) をテストして確認し、ほとんどの場合、選択を解除します。ユーザーが何かを選択できない場合、編集/変更することはできません。

イベント処理ルーチンは、状態変数に基づいて有効/無効にすることができます。PresentationOpen イベントをトラップし、新しいプレゼンテーションが「保護された」プレゼンテーションの 1 つであるかどうかをテストし、そうである場合は boolIsProtected = True; を設定します。他のイベント ハンドラーはこの変数をテストし、False の場合はイベントの処理を停止できます。

于 2012-07-28T16:01:47.983 に答える