Работа с диалоговите прозорци, Excel за всички

Несъмнено всеки разработчик прави работата лесна потребителя малко, но това е по-лесно. И разбира се, понякога просто трябва обратна връзка от потребителя, когато на определени програми. За нея и аз искам да ви кажа днес.






Какво искам да кажа: има ситуации, когато е необходимо:

  • да информира потребителя на кода;
  • получите потвърждение от страна на потребителя да изпълни определено действие;
  • да изисква всякаква информация (брой, търсене на текст, обхватът на търсене и т.н.).

Трябва само да заявите и потвърждение може да се направи с вече вграден диалогови прозорци.

От основните те са три вида:
MsgBox - информира потребителя с възможност да се боксира искане действие (Да, Не, Отмени, и т.н.);
InputBox - текстова информация от прозореца на заявката на потребителя (търсене на текст, дата, номер и т.н.);
Application.InputBox - малко повече от разширена версия InputBox с възможността да се определи не само текст и цифри, но също така посочи обхватът на клетките (например за да покаже на клетките, в които да търсят стойност или да бъдат боядисани).

ИНФОРМАЦИЯ ДИАЛОГ MsgBox

Най-простият тип. Той се използва за информиране на потребителя. Обикновено се използва в края на кода:






MsgBox Promt. [бутони]. [Дял]. [HelpFile]. [Контекст]
Свързването инструкции е само първият вариант - Promt. Той се посочва директно съобщение на дисплея:

Се обяви Функция MessageBoxTimeOut Lib "USER32" Alias ​​"MessageBoxTimeoutA" (ByVal hwnd толкова дълго. ByVal lpText Както стринга. ByVal lpCaption Както стринга. ByVal uType Както VbMsgBoxStyle. ByVal wLanguageId толкова дълго. ByVal dwMilliseconds толкова дълго), при условие

Освен текст очевидно послание и титлата. които могат да бъдат заменени с вашите собствени. Той се фокусира върху константа lSeconds . Тя отговаря за броя на секунди, за да видите съобщението. В горния пример, съобщението ще бъде показано в продължение на 5 секунди. и след това се затваря. ако не и по-рано бутон ОК е бил натиснат.

Ако искате да се покаже съобщението за 10 секунди. необходимо е само да се замени от 5 до 10.

Конст lSeconds Докато = 10

параметър uType Тя работи по същия начин. като параметър Копчета стандартната MsgBox. Е. Можете да комбинирате различни видове копчета, както и да използват това като стандарт MsgBox. но за да го затвори автоматично. ако потребителят случайно "заспа" или мързел му / веднъж, че - след това натиснете.

 Под AutoCloseMsgBox ()

Конст lSeconds Докато = 10

retval = MessageBoxTimeOut (0 "Files обработени. Отпечатване на списък?" vbNewLine _

"Ако е избрано действието на прозореца ще се затвори за 10 секунди." "Www.excel-vba.ru". _

vbInformation + vbYesNo. 0 , lSeconds * 1000)

Ако retval = 6 Тогава "Да бутон (Да) е натиснат