Я пытаюсь создать в Excel VBA всплывающее окно, которое автоматически закрывается после заданного WaitTime
в считанные секунды. Я консультировался по теме «VBA Excel macro message box auto close», а также this и this ссылок. Я попытался применить метод из упомянутого потока StackExchange; мой код выглядит следующим образом:Отображать всплывающее окно за период в Excel
Sub TestSubroutine()
Dim TemporalBox As Integer
Dim WaitTime As Integer
Dim WScriptShell As Object
Set WScriptShell = CreateObject("WScript.Shell")
WaitTime = 1
TemporalBox = WScriptShell.Popup("The message box will close in 1 second.", _
WaitTime, "File processed")
End Sub
Однако это, кажется, не работает, отображается всплывающее окно, но оно никогда не закрывается через 1 секунду.
Кто-нибудь видит, что я делаю неправильно?
Редактировать # 1
основе @Skip Вступительный комментарий, я обновил код:
Sub TestSubroutine()
Dim WaitTime As Integer
WaitTime = 1
CreateObject("WScript.Shell").Popup "The message box will close in 1 second.", _
WaitTime, "File processed"
End Sub
Однако это не решает оригинальный вопрос, всплывающее окно не закрывается через 1 секунду.
Edit # 2
Это код, предложенный @Glitch_Doctor, однако он по-прежнему не работает:
Sub TestSubroutine()
Dim TemporalBox As Integer
Dim WaitTime As Integer
Dim WScriptShell As Object
Dim test
Set WScriptShell = CreateObject("WScript.Shell")
WaitTime = 1
Select Case TemporalBox = WScriptShell.Popup("The message box will close in 1 second.", _
WaitTime, "File processed")
Case 1, -1
End Select
End Sub
Вы можете вызвать всплывающее окно в одной строке: «CreateObject (« WScript.Shell »). Popup« Это сообщение », 1,« Это заголовок », 0 + 64 '' Это только усложняется, если вы 'пытаюсь захватить ответ, который я не думаю, что вы хотите, если 'Wait' = 1 секунда –
Спасибо за отзыв. Однако это не решает исходную проблему, всплывающее окно остается открытым. Я обновил оригинальный пост. –
Эта вторая часть кода работает для меня. Появится окно, затем автоматически закрывается секунда. –