2012-05-11 6 views
1

特定の有効期限が切れた後、PPTファイルを開いている間にパワーポイントのプレゼンテーションを終了したいと思います.VBAでマクロを使用する必要があります。 誰でも助けてください。非常に緊急です。VBAでマクロを使用してPPTを自動クローズ

以下のコードでは、上記の要件を実行しようとしています。

/////////////////////// 
Sub Auto_Open() 
ExpirationCode 
End Sub 
Sub ExpirationCode() 
Dim ExpirationDate As Date 
ExpirationDate = DateSerial(2011, 5, 8) 
MsgBox "Check1" 
If Now() >= ExpirationDate 
Then 
Application.Windows(1).Close 
MsgBox "Check2" 
End If 
End Sub 

答えて

0

PowerPointでは、プレゼンテーションを開くときにコードが自動的に実行されることはありません。

サブAuto_Openのコードは、アドインの一部であり、アドインがロードされているときにのみ実行されます。

現在の日付が設定した有効期限を過ぎている場合は、プレゼンテーションを終了するように見えます。そうであれば、これに別の方法で取り組まなければならないかもしれません。たとえば、ユーザーがプレゼンテーションを使用するために小さなアドインをインストールすることを要求することができます。

アドインは、PPTがプレゼンテーションを開いたときに発生するイベントをトラップし、プレゼンテーションを識別する機能を確認します。有効な場合は有効期限をチェックし、期日が過ぎている場合はプレゼンテーションを閉じます。

個人的には、タグを使用します。ほとんどのユーザーはそれらを認識していません。表示/編集するためのUIはありません。イベントハンドラは次の行に沿っている可能性があります。

With ActivePresentation 
    ' Does it have an EXPIRE tag? 
    If Len(.Tags("EXPIRE")) > 0 Then 
    ' It does, so it's one of yours. Now get the date: 
    If .Tags("EXPIRE") ... Then ' meets some condition you set 
     .Close ' the presentation 
     MsgBox "Expired!" 
    End If 
    End If 
End With 
関連する問題