Страница: 1 |
Вопрос: Флажок на форме | Добавлено: 09.11.07 15:39 |
Автор вопроса: ![]() |
Здравствуйте, уважаемые!
У меня бесхитростный, но неразрешимый вопросец. В общем в VBA excel есть форма, навроде окна приветствия, которая запускаться автоматом при открытии книги. Код, соответственно прописан в книге при активации: Userform1.show. На самой форме к тому же есть флажок "Больше не показывать это окно". Вот и не знаю, как описать этот флажок, чтобы он запомнил галочку, и форма в дальнейшем не появлялась. Помогите, люди добрые чайнику. Ошчень надо. |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 82 |
Профиль | Цитата | #1 | Добавлено: 09.11.07 15:51 |
если поставлили значок, то в какой-нибудь ячейке, на каком-нибудь листе (можно дажен на скрытом листе) написать что-нибудь, например 1 (или 0) или True (или False), ну, и соответственно, при открытии формы проверять текст в этой ячейке, и если, например, там 0, то не показывать эту форму |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 18 Ответов: 186 |
Профиль | Цитата | #2 | Добавлено: 09.11.07 17:48 |
Хочу добавить, что если данная книга предназначена для эксплуатации на разных компьютерах, то рациональнее было бы сохранять значение переменной показыватьФормуПриветсвия не на системном листе, а в системном реестре:
'код макроса, вызывающего UserForm_Initialize
'имя раздела системного реестра Const APPNAME = "My Book" 'показать форму приветствия? Dim showWelcomeForm As Boolean 'читаем значение этой переменной из записи "Welcome Form" секции APPNAME; 'если таковой записи ещё не существует (книга открывается впервые данным пользователем), то получаем True showWelcomeForm = VBA.GetSetting(APPNAME, "Welcome Form", "Show", True) Далее просто показываем форму, если showWelcomeForm = True. А при закрытии формы сохраняем в реестре выбранное пользователем значение: 'код процедуры OK_Click
'сохраняем значение записи "Show", соответствующее значению checkBox'а DontShowAgain VBA.SaveSetting APPNAME, "Welcome Form", "Show", Not DontShowAgain.Value Системный реестр запускается Run'ом: REGEDIT Сохраняемые записи находятся в директории HKEY_CURRENT_USER/Software/VB and VBA Program Settings |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 3 Ответов: 2 |
Профиль | Цитата | #3 | Добавлено: 12.11.07 04:43 |
Pavel, спасибо огромное. Решение загадки, как и следовало предполагать оказалось простым.
Nytrogen! Тоже спасибо за отклик. Я в восхищении от замысловатости процедуры, но применить не могу. Ведь красивым девушкам совсем не обязательно быть такими умными, чтобы понять куда эту штуковину надо написать и как оно работает. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 427682013 Вопросов: 14 Ответов: 464 |
Профиль | Цитата | #4 | Добавлено: 12.11.07 16:19 |
Ведь красивым девушкам совсем не обязательно быть такими умными Nytrogen, это намек! ![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Вопросов: 18 Ответов: 186 |
Профиль | Цитата | #5 | Добавлено: 12.11.07 19:42 |
Ведь красивым девушкам совсем не обязательно быть такими умными
Ладно, красивые девушки, лучше оставайтесь красивыми, чем становитесь умными! Как говорится, мозГ требует жертв. ![]() |
Страница: 1 |
|