Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 MsgBox - "ОК" по таймеру  [new]
кукарач
Guest
7, 2010, Эксель
Прочитал многое - не нашел
Как закрыть (нажать "ДА") окно сообщения программно по таймеру (пример -через 10 мин)
Спасибо
11 июн 14, 12:32    [16153847]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 19028
нарисуй свой msgbox, делов-то... с таймером и шлюхами
11 июн 14, 13:45    [16154376]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
кукарач
Guest
Akina,

Рисовать-то нечаво - принцип главное...
MsgBox "хочу закрыться через час"
11 июн 14, 13:54    [16154446]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Visual Basic
Guest
Э ! кукарач ! Ты чё, не понял што ли ?
Берешь и рисуешь свою форму, кидаешь на форму кнопку "Ок" и кидаешь надпись свою - вот тебе и готовый свой собственный MessageBox. Потом кидаешь на эту свою форму таймер. Дальше подсказывать ?
11 июн 14, 13:59    [16154477]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Konst_One
Member

Откуда:
Сообщений: 11342
в экселе разве есть контрол таймер?
11 июн 14, 14:02    [16154505]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
кукарач
Guest
Visual Basic,

как круто....
1. НЕ СВОЯ форма, а стандарт сообщения..
2. и как ты свою форму закрывать будешь по времени? каким кодом?
11 июн 14, 14:07    [16154542]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
кукарач
Guest
кукарач,

Ладно, если других идей нет - придется таймер и закрытие на активацию своей формы вешать... (как не хочу свою создавать...)
11 июн 14, 14:42    [16154840]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1305
кукарач,

WScript.Popup ?
11 июн 14, 18:18    [16156480]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1305
Опечатка, Popup является методом WScript.Shell. Пример нагугленный с инета:

' ***********************************************************
' Метод popup
' Создание диалогового Popup окна
' pорup_okno.vbs
' *************************************************************
Option Explicit
 
Dim msg, title, timeout, result
Dim WshShell, my_msg
 
msg = "Нажмите на кнопку"
title = "Работа с методом Poрuр"
 
'Создаем экземпляр класса WScript.Shell
Set WshShell = WScript.CreateObject("WScript.Shell")
 
'Выводим popup окно
result =  WshShell.Popup(msg, 5, title, vbOKCancel + vbInformation)
 
'Определяем, на что нажал пользователь
Select case result
    Сase 1
        my_msg = "Кликнуто на OK " & "(Код: " & result & ")"
    Сase 2
        my_msg = "Кликнуто на Отмена " & "(Код: " & result & ")"
    Сase else
        my_msg = "Пользователь ничего не нажал " & "(Код: " & result & ")"
End Select
 
MsgBox my_msg
11 июн 14, 18:23    [16156494]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
iMrTidy
Member

Откуда:
Сообщений: 768
кукарач,

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

Есть еще один вариант, со стандартным MsgBox, но код куда более корявый (не исключаю, что можно оптимизировать, но мне лень думать), зато есть обратный отсчет. Оба варианта в файле.

К сообщению приложен файл (AutoCloseMsgBox.xlsm - 27Kb) cкачать
12 июн 14, 04:10    [16157895]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
ATM-TURBO 2
Member

Откуда:
Сообщений: 167
Private Declare Function MessageBoxTimeOut Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As VbMsgBoxStyle, ByVal wLanguageId As Long, ByVal dwMilliseconds As Long) As Long
Private Sub Form_Load()
    MessageBoxTimeOut Me.hWnd, "Пример Messagebox'а с таймаутом", "Автоматически закроется через 3 секунды", vbInformation + vbOKOnly, 0&, 3000
End Sub
12 июн 14, 08:31    [16157990]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Visual Basic
Guest
кукарач,

Option Explicit


Private Declare Function MessageBoxTimeOut Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As VbMsgBoxStyle, ByVal wLanguageId As Long, ByVal dwMilliseconds As Long) As Long


Public Sub S_MessageBox_with_Timer()
    MessageBoxTimeOut Application.hWnd, "Ýòî ïðèìåð îêíà, êîòîðîå ñàìî çàêðûâàåòñÿ ÷åðåç íåñêîëüêî ñåêóíä", "Âíèìàíèå !", vbInformation + vbOKOnly, 0&, 3000
End Sub
12 июн 14, 11:04    [16158194]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Visual Basic
Guest
Visual Basic,

Option Explicit


Private Declare Function MessageBoxTimeOut Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As VbMsgBoxStyle, ByVal wLanguageId As Long, ByVal dwMilliseconds As Long) As Long


Public Sub S_MessageBox_with_Timer()
    MessageBoxTimeOut Application.hWnd, "Hello ! How are you guys doing ?", "Hola, amigos !", vbInformation + vbOKOnly, 0&, 3000
End Sub
12 июн 14, 11:06    [16158198]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
theglanda
Member

Откуда:
Сообщений: 78
есть такой пример, правда он на VBS, не знаю подойдет ли..

Set W = CreateObject("WScript.Shell")
W.Popup "Окно закроется через 7 сек. или раньше, "_
& vbLF & "если Вы нажмете кнопку в окне", 7 , _
" Окно Popup библиотеки WScript.Shell",vbExclamation
13 июн 14, 13:57    [16161105]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20374
theglanda
есть такой пример,
16157895
13 июн 14, 14:03    [16161122]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: MsgBox - "ОК" по таймеру  [new]
Rikozenit
Member

Откуда:
Сообщений: 119
Visual Basic,
подскажите, чего не хватает?

К сообщению приложен файл. Размер - 50Kb
22 ноя 18, 13:45    [21741284]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20374
Rikozenit
Visual Basic,
версия?
22 ноя 18, 13:51    [21741296]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Rikozenit
Member

Откуда:
Сообщений: 119
Shocker.Pro, 7.0.1628
22 ноя 18, 13:52    [21741300]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20374
Версия экселя какая?
22 ноя 18, 13:54    [21741304]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Rikozenit
Member

Откуда:
Сообщений: 119
Shocker.Pro,
у меня Аксесс =)))) Прошу прощения)
Пошёл делать свою формочку выхода с таймером)
22 ноя 18, 14:06    [21741323]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
court
Member

Откуда:
Сообщений: 1743
Rikozenit,

у Акцесса - Application.hWndAccessApp
22 ноя 18, 14:12    [21741334]     Ответить | Цитировать Сообщить модератору
 Re: MsgBox - "ОК" по таймеру  [new]
Rikozenit
Member

Откуда:
Сообщений: 119
court, буду иметь в виду! Спасибо!
22 ноя 18, 15:57    [21741572]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить