Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   закрыть окно InputBox по таймеру (http://forum.oszone.net/showthread.php?t=344805)

DUNAEV78 12-04-2020 20:44 2916913

закрыть окно InputBox по таймеру
 
Ребята здравствуйте попытался запустить таймер для того что бы закрыть InputBox но что то не получается что не так?
Код:

Function InputBox(Prompt As String, default As String, Optional Buttons, Optional Title, Optional ByVal SecondsToWait As Integer)
Dim wshShell
    Set wshShell = CreateObject("WScript.Shell")
  InputBox = wshShell.PopUp(Prompt, default, SecondsToWait, Title, Buttons) 'ошибка здесь
End Function
Sub zapusk()
a = InputBox("Тестирование", " ", vb, "Сообщение!", 2) 'здесь параметры должны быть соблюдены
End Sub


megaloman 12-04-2020 21:29 2916915

В VBA InputBox - имя стандартной функции. ИМХО, не стОит его так использовать. Зачем еще как-то переопределять стандартную функцию.
В PopUp 4 аргумента: Popup(<Text>,<SecondsToWait>,<Title>,<Type>)
Код:

Sub zapusk()
    With CreateObject("WScript.Shell")
        a = .PopUp("Текст сообщения", 5, "Заголовок", 2)
    End With
End Sub


DUNAEV78 12-04-2020 21:58 2916919

Цитата:

Цитата megaloman
megaloman »

да но это же InputBox где же "default" строка куда заносится сообщение, у меня просто в проекте оно обязательно должна присутствовать, может как то можно обойти?

megaloman 12-04-2020 22:10 2916921

DUNAEV78, Что такое "default" - это строка, которую ручками пользователь должен занести? В InputBox нет таймера.
Можно выкрутиться: вызвать PopUp с вопросом типа "Вы будете вводить свои данные?", кнопками да-нет и таймером. При выборе "да" вызвать InputBox, "нет" или таймер - вместо введённого текста использовать текст по умолчению.

DUNAEV78 12-04-2020 22:12 2916922

а как вариант возможно ли у стандартного InputBox таймером через 2 сек нажать кнопку "отмена"?

у меня в проекте если в поле не введено ни одни данные, то InputBox, закрывается , я понимаю что просто так не закрыть а вот по кнопке отмена выйти из InputBox

Iska 13-04-2020 11:01 2916968

Цитата:

Цитата DUNAEV78
а как вариант возможно ли у стандартного InputBox таймером через 2 сек нажать кнопку "отмена"? »

DUNAEV78, нет.

И:
Цитата:

Цитата Popup Method
The return value intButton denotes the number of the button that the user clicked. If the user does not click a button before nSecondsToWait seconds, intButton is set to -1.

Используйте UserForm.


Время: 23:32.

Время: 23:32.
© OSzone.net 2001-