在VBA中使用宏自动关闭PPT

时间:2012-05-11 13:54:18

标签: vba powerpoint

我希望在某个到期时间/日期之后打开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

1 个答案:

答案 0 :(得分:0)

PowerPoint在打开演示文稿时从不会自动运行代码。

Sub Auto_Open中的代码仅在加载项的一部分和加载项加载时运行。

如果当前日期超过您设置的到期日期,您似乎要关闭演示文稿。如果是这样,您可能必须采用不同的方法。例如,您可以要求用户安装一个小插件以便使用您的演示文稿。

加载项会捕获PPT打开演示文稿时发生的事件,检查标识演示文稿的某些功能,如果是,则检查过期日期,如果过期,则关闭演示文稿。< / p>

就个人而言,我会使用标签。大多数用户都不知道它们,没有用于查看/编辑它们的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