Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программное закрытие MsgBox - сообщения, Как удалять программно диалоговое окно? 
:(
    Опции темы
НеуФазендник
  Дата 17.5.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Прошу подсказать, каким образом программно создать диалоговое окно типа msgBox, чтобы затем его можно было бы так же программно удалить через определенное время, в случае, если не следует никакой реакции пользователя. Если вариантов нет, прошу посоветовать, как реализовать подобный диалог? smile 
PM MAIL   Вверх
Akina
Дата 17.5.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Нарисовать такую форму и на нее таймер, который закроет ее по истечении заданного времени. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Artiom
Дата 17.5.2006, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: 1
Всего: 17



Здесь посмотри - привер на VB. наверное можно переделать на VBA
http://forum.sources.ru/index.php?showtopic=49896 


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
НеуФазендник
Дата 18.5.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Цитата(Artiom @ 17.5.2006,  17:11)
Здесь посмотри - привер на VB. наверное можно переделать на VBA
http://forum.sources.ru/index.php?showtopic=49896

Спасибо, Artiom.
Посмотрел ссылку.Идея ясна. Есть еще вопрос.
Ключевыми (интересными мне) в приведенном коде являются две строки:
1. SendKeys "{enter}"
делает ни что иное, как за пользователя жмет кнопку на диалоговом окне. 

2.hMessageBox = FindWindow("#32770", MsgBoXCaption) 
вроде как определяет присутствие самого диалогового окна.

Вопрос в том, откуда берется дескриптор #32770.
И вообще, где взять справку по FindWindow()  ? 
  
PM MAIL   Вверх
Artiom
Дата 18.5.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: 1
Всего: 17



Цитата(НеуФазендник @  18.5.2006,  08:30 Найти цитируемый пост)
И вообще, где взять справку по FindWindow()  ? 

В MSDN есть 
http://msdn.microsoft.com/library/default..../findwindow.asp 


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
Дмит
Дата 18.5.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 21.4.2006
Где: г.Волгоград

Репутация: 8
Всего: 9



Можно без API:

Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")

WshShell.Popup "У вас всё в порядке?", 1, "Ответте на вопрос"
'popup(надпись, на сколько секунд выскакивает, заголовок, тип)

 
PM MAIL WWW   Вверх
НеуФазендник
Дата 25.5.2006, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Дмитрий, это то, что доктор прописал.
Честно говоря меня ни один год мучал вопрос, как это реализовать, а поскольку букварей по VBA никогда не читал, довольствуясь англоязычной справкой VBA-Excel в крайних случаях, то никак не удавалось наткнуться на сею мудрую штуковину. 
Огромное спасибо. Теперь завалю свои формы всякими глупостями, вечно всплывающими в самые неподходящие моменты smile

Добавлено @ 16:24 
Цитата(Artiom @ 18.5.2006,  10:37)
Цитата(НеуФазендник @  18.5.2006,  08:30 Найти цитируемый пост)
И вообще, где взять справку по FindWindow()  ? 

В MSDN есть 
http://msdn.microsoft.com/library/default..../findwindow.asp

Artiom, спасибо за ссылочку! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0961 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.