1

我想在某些到期时间/日期后打开 PPT 文件时关闭我的 power point 演示文稿。我们需要它在 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 回答