Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/MsgBoxEx - MsgBox с таймаутом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » MsgBoxEx - MsgBox с таймаутом (Макросы/Sub)
MsgBoxEx - MsgBox с таймаутом
Alex_ST Дата: Пятница, 27.01.2017, 14:47 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Тут случайно наткнулся на Киберфоруме на очень, имхо, полезную процедуру, написанную Казанский ещё в марте 2014 и почему-то не показанную ни здесь, ни на Планете...
Это функция MsgBoxEx - практически полный (за исключением никому не нужных опций [, helpfile, context]) функциональный аналог всеми применяемого MsgBox , но с возможностью указать время, через которое он закроется автоматически и продолжение вызвавшей его процедуры продолжится.
Я его функцию чуть покрутил, навёл красоты, комменты сделал на русском и утащил к себе в копилку.
НАСТОЯТЕЛЬНО рекомендую:



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеТут случайно наткнулся на Киберфоруме на очень, имхо, полезную процедуру, написанную Казанский ещё в марте 2014 и почему-то не показанную ни здесь, ни на Планете...
Это функция MsgBoxEx - практически полный (за исключением никому не нужных опций [, helpfile, context]) функциональный аналог всеми применяемого MsgBox , но с возможностью указать время, через которое он закроется автоматически и продолжение вызвавшей его процедуры продолжится.
Я его функцию чуть покрутил, навёл красоты, комменты сделал на русском и утащил к себе в копилку.
НАСТОЯТЕЛЬНО рекомендую:

Автор - Alex_ST
Дата добавления - 27.01.2017 в 14:47
_Boroda_ Дата: Пятница, 27.01.2017, 15:21 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
У меня в загашнике валяется вот такая. Не помню уже откуда. Дата файла 24.11.2015.
Правда, ее нужно под 64бит переделать
[vba]
Код
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

Sub Дел()
        Range("B5:E85").ClearContents
        MessageBoxTimeOut Application.hWnd, "Пример Messagebox'а с таймаутом", "Автоматически закроется через 3 секунды", vbInformation + vbOKOnly, 0&, 3000
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеУ меня в загашнике валяется вот такая. Не помню уже откуда. Дата файла 24.11.2015.
Правда, ее нужно под 64бит переделать
[vba]
Код
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

Sub Дел()
        Range("B5:E85").ClearContents
        MessageBoxTimeOut Application.hWnd, "Пример Messagebox'а с таймаутом", "Автоматически закроется через 3 секунды", vbInformation + vbOKOnly, 0&, 3000
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 27.01.2017 в 15:21
Alex_ST Дата: Пятница, 27.01.2017, 15:27 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Саша, прелесть кода Казанского в том, что его можно использовать как функцию точно так же, как MsgBox , с подсказками по мере ввода и использованием тех же констант.
Да и в декларациях не надо API-функцию прописывать.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 27.01.2017, 15:28
 
Ответить
СообщениеСаша, прелесть кода Казанского в том, что его можно использовать как функцию точно так же, как MsgBox , с подсказками по мере ввода и использованием тех же констант.
Да и в декларациях не надо API-функцию прописывать.

Автор - Alex_ST
Дата добавления - 27.01.2017 в 15:27
_Boroda_ Дата: Пятница, 27.01.2017, 15:35 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Это называется "Ну воооот, а хотел как лучше, думал, понадобится".

Да я ж не говорю, что не пользуйтесь тем, а пользуйтесь этим, я просто в качестве допинформации.

Кстати, если бы кто-то давал ссылки-то на другие форумы, то и я не стал бы выкладывать то, что там уже выложили.
http://www.planetaexcel.ru/forum....-sekund


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЭто называется "Ну воооот, а хотел как лучше, думал, понадобится".

Да я ж не говорю, что не пользуйтесь тем, а пользуйтесь этим, я просто в качестве допинформации.

Кстати, если бы кто-то давал ссылки-то на другие форумы, то и я не стал бы выкладывать то, что там уже выложили.
http://www.planetaexcel.ru/forum....-sekund

Автор - _Boroda_
Дата добавления - 27.01.2017 в 15:35
anvg Дата: Пятница, 27.01.2017, 22:17 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Правда, ее нужно под 64бит переделать

Версия для 64
[vba]
Код
Private Declare PtrSafe Function MessageBoxTimeOut Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hWnd As LongPtr, ByVal Message As String, ByVal Caption As String, ByVal uType As VbMsgBoxStyle, ByVal wLanguageId As Long, ByVal Milliseconds As Long) As Long
[/vba]
 
Ответить
СообщениеДоброе время суток.
Правда, ее нужно под 64бит переделать

Версия для 64
[vba]
Код
Private Declare PtrSafe Function MessageBoxTimeOut Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hWnd As LongPtr, ByVal Message As String, ByVal Caption As String, ByVal uType As VbMsgBoxStyle, ByVal wLanguageId As Long, ByVal Milliseconds As Long) As Long
[/vba]

Автор - anvg
Дата добавления - 27.01.2017 в 22:17
Мир MS Excel » Вопросы и решения » Готовые решения » MsgBoxEx - MsgBox с таймаутом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!