2012-05-11 3 views
1

Я хочу закрыть презентацию Power Point при открытии файла PPT после определенного срока/дат истечения срока. Нам это нужно в VBA с использованием макросов. Может кто-нибудь, пожалуйста, помогите мне. Это очень срочно.Автоматическое закрытие 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 

ответ

0

PowerPoint никогда не запускает код автоматически при открытии презентации.

Код в Sub Auto_Open работает только в том случае, если он является частью надстройки и надстройки.

Похоже, что вы хотите закрыть презентацию, если текущая дата находится за установленную вами дату истечения срока действия. Если это так, вам, возможно, придется подойти к этому по-другому. Например, вы можете потребовать, чтобы пользователь установил небольшую надстройку, чтобы использовать вашу презентацию.

Надстройка блокирует событие, которое происходит, когда PPT открывает презентацию, проверяет наличие какой-либо функции, которая идентифицирует презентацию как вашу, и если да, то будет проверять дату истечения срока действия и, если она просрочена, закройте презентацию.

Лично я бы использовал теги. Большинство пользователей не знают о них, нет интерфейса для просмотра/редактирования. Ваш обработчик событий может быть в соответствии с:

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 
Смежные вопросы