2

Powerpoint アドインを作成しています。ユーザーを次のいずれかから制限したいと思います。

  • 新しいプレゼンテーションを作成
  • 既存のプレゼンテーションを開く

このチュートリアル/概要を使用して、NewPresentationおよびPresentationOpenイベントをトラップしました。ユーザーが操作できるようになる前に、これらのイベントを通じて初期化されたプレゼンテーションを閉じたいと思います。.Closeメソッドを使用して閉じようとすると、エラーが発生します (下のスクリーンショット)。

私のクラス モジュールには、NewPresentationイベントをトラップする次のものがあります。これは正常に動作し、メッセージ ボックスを受け取り、ルーチンPresに渡すことができる有効なプレゼンテーション オブジェクトです。CloseNewPres

Private Sub PPTEvent_NewPresentation(ByVal Pres As Presentation)
MsgBox "You cannot use this Charting tool with multiple presentations.", vbInformation
CloseNewPres Pres
End Sub

標準モジュールにはCloseNewPres、「新規」プレゼンテーションを閉じるルーチンがあります。

Sub CloseNewPres(Pres As Presentation)
    Application.Presentations(Pres.Name).Close
    'Pres.Close '<~~ This also fails.'
End Sub

次のエラーが表示されます。

エラー メッセージのスクリーンショット

なぜこれが起こっているのかについて何か考えはありますか?または、これらのプレゼンテーションを閉じるにはどうすればよいですか?

4

3 に答える 3