Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як створити таймер вікна повідомлення для автоматичного закриття вікна повідомлення через певний час в Excel?

Ви можете часто використовувати сценарій VBA для вирішення проблем під час використання книги Excel. І під час запуску сценарію з’являться вікна повідомлень. У деяких випадках ви хотіли б, щоб певні вікна повідомлень автоматично закривалися через певний час, а не закривали їх вручну. У цій статті ми покажемо вам спосіб створення таймера вікна повідомлення для автоматичного закриття вікна повідомлення через певний час в Excel.

Створіть таймер вікна повідомлення для автоматичного відхилення вікна повідомлення через певний час


Створіть таймер вікна повідомлення для автоматичного відхилення вікна повідомлення через певний час


Тут наведено шаблон сценарію VBA для створення таймера вікна повідомлень.

Припустимо, ви використовуєте сценарій VBA для перетворення всіх посилань на клітинки вказаних комірок формули в абсолютні. Після успішного перетворення вам потрібно спливаюче вікно повідомлення, щоб повідомити вам про успіх перетворення, і це вікно повідомлення повинно бути автоматично закрито через 4 секунди (див. Знімок екрана нижче). Будь ласка, виконайте наступне.

1. відкрити Microsoft Visual Basic для додатків вікно, а потім вставте використаний сценарій VBA у відповідний модуль.

2. Продовжте, щоб додати до сценарію наступний сценарій шаблону таймера вікна повідомлень.

Сценарій VBA: Створіть таймер вікна повідомлення для автоматичного відхилення вікна повідомлення через певний час

'The first part
#If Win64 Then '64?
    Private Declare PtrSafe Function MsgBoxTimeout _
        Lib "user32" _
        Alias "MessageBoxTimeoutA" ( _
            ByVal hwnd As LongPtr, _
            ByVal lpText As String, _
            ByVal lpCaption As String, _
            ByVal wType As VbMsgBoxStyle, _
            ByVal wlange As Long, _
            ByVal dwTimeout As Long) _
    As Long
#Else
    Private Declare Function MsgBoxTimeout _
        Lib "user32" _
        Alias "MessageBoxTimeoutA" ( _
            ByVal hwnd As Long, _
            ByVal lpText As String, _
            ByVal lpCaption As String, _
            ByVal wType As VbMsgBoxStyle, _
            ByVal wlange As Long, _
            ByVal dwTimeout As Long) _
    As Long
#End If
'The second part
Sub btnMsgbox()
    Call MsgBoxTimeout(0, "This message box will be closed after 4 seconds ", "Kutools for Excel", vbInformation, 0, 4000)
End Sub

3. Скопіюйте першу частину вищевказаного коду VBA та вставте перед кодом. Потім скопіюйте та вставте наведений нижче сценарій другої частини, щоб замінити оригінальний сценарій у своєму коді там, де потрібно спливаюче вікно повідомлення.

MsgBoxTimeout 0, "Перетворено завершено (це вікно повідомлення буде закрито через 4 секунди)", "Kutools для Excel", vbInformation, 0, 4000

примітки: У цьому випадку мені потрібно нарешті спливаюче вікно повідомлення після успішного перетворення. Тому я розміщую цю частину сценарію в кінці коду. Дивіться знімок екрана:

Ви можете змінювати вміст вікна повідомлення, як вам потрібно.

4 Натисніть кнопку F5 клавіша для запуску коду. Вказане вікно повідомлення з’явиться після перетворення. І це вікно повідомлення буде автоматично закрито через 4 секунди.


Статті по темі:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    dangcab · 8 months ago
    It is really nice, but on my codes I'm using the "GetAsyncKeyState" function to recognize the entry status for my data (using an scan gun) and the "MsgBoxTimeout" function is affecting the "GetAsyncKeyState" function. Without the "MsgBoxTimeOut" everything is working normal, when I include it, is like disactivate the "GetAsyncKeyState" function, but both not want to work together. Have you any suggestion?
  • To post as a guest, your comment is unpublished.
    bsacheri@gmail.com · 2 years ago
    This is a clean solution and much better than the wscript.shell popup method. I shared your idea on Stack Overflow with an example showing how to get the user response.
    https://stackoverflow.com/questions/54253640/how-to-insert-a-break-line-in-mshta-exe-pop-up-vba-macro/57512186#57512186
  • To post as a guest, your comment is unpublished.
    Fatih · 4 years ago
    You are just perfect... :lol: :lol: :lol: 8) 8) 8)