1

特定の有効期限/日付の後に PPT ファイルを開いているときに、パワー ポイントのプレゼンテーションを閉じたいです。マクロを使用して VBA で必要です。

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

/////////////////////// 
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
4

1 に答える 1

0

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

Sub 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
于 2012-05-11T15:14:50.210 に答える