Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Флажок на форме Добавлено: 09.11.07 15:39  

Автор вопроса:  Инара
Здравствуйте, уважаемые!
У меня бесхитростный, но неразрешимый вопросец.
В общем в VBA excel есть форма, навроде окна приветствия, которая запускаться автоматом при открытии книги. Код, соответственно прописан в книге при активации:
Userform1.show. На самой форме к тому же есть флажок "Больше не показывать это окно". Вот и не знаю, как описать этот флажок, чтобы он запомнил галочку, и форма в дальнейшем не появлялась.
Помогите, люди добрые чайнику. Ошчень надо.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Pavel



Вопросов: 0
Ответов: 82
 Профиль | | #1 Добавлено: 09.11.07 15:51
если поставлили значок, то в какой-нибудь ячейке, на каком-нибудь листе (можно дажен на скрытом листе) написать что-нибудь, например 1 (или 0) или True (или False), ну, и соответственно, при открытии формы проверять текст в этой ячейке, и если, например, там 0, то не показывать эту форму

Ответить

Номер ответа: 2
Автор ответа:
 Nytrogen



Вопросов: 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
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #4 Добавлено: 12.11.07 16:19
Ведь красивым девушкам совсем не обязательно быть такими умными
Nytrogen, это намек! ;)

Ответить

Номер ответа: 5
Автор ответа:
 Nytrogen



Вопросов: 18
Ответов: 186
 Профиль | | #5 Добавлено: 12.11.07 19:42
Ведь красивым девушкам совсем не обязательно быть такими умными

Ладно, красивые девушки, лучше оставайтесь красивыми, чем становитесь умными! Как говорится, мозГ требует жертв. =)))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам