Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запустить код в кнопке, не нажимая ручками на кнопку. / 5 сообщений из 5, страница 1 из 1
16.07.2015, 12:16
    #39008733
lopuxi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запустить код в кнопке, не нажимая ручками на кнопку.
Добрый день.
Мой вопрос наверное покажется глупым, но все же я не знаю на него ответа...

У меня тема такая, есть на UserForm кнопка, большая, с большим кодом, которая выполняет важную функцию обновления информации на листе ексель. На панели так же расположены несколько доп опций, для разных задач, юзир с ними играет и нажимает большую кнопку. Если все ок, жмет крестик в вехнем правом углу, если не ок, не жмет.

И вот тут у меня всплывает не удобный баг. Юзер проделав небольшие манипуляции в настройках на форме, часто забывает нажать на большую кнопку и жмет сразу крестик. И в результате в плане ничего не меняется, либо меняется кусками. Так как полного обновления не произошло.

Я хочу сделать так что бы при нажатии на крестик, автоматом запустилась большая кнопка.
Я добавил в код метод UserForm_QueryClose и на этом месте, понял что я не знаю как мне обратиться к кнопке Button_1, что бы запустить в ней код.

Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If Cancel = True Then
    Button_1_Click()
   Cancel = 0
End If
End Sub
...
Рейтинг: 0 / 0
16.07.2015, 12:47
    #39008758
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запустить код в кнопке, не нажимая ручками на кнопку.
lopuxi,

можно убрать крестик например. это кстати сказать логичнее.

а вообще надо избегать больших кодов в одной процедуре. одна процедура делает одну вещь вот хороший принцип

а также лучше выносить код из кнопки и зафигачить в отдельной процедуре которая будет легко вызываться

-----------------------------
пс. для любителей русского языка. даже для ярых любителей русского языка. там неудобный пишется слитно. но меня это если вот честно не парит.
...
Рейтинг: 0 / 0
16.07.2015, 13:19
    #39008804
lopuxi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запустить код в кнопке, не нажимая ручками на кнопку.
капитанская дочка,

вынести код из кнопки в функцию. Да, как вариант.
...
Рейтинг: 0 / 0
16.07.2015, 23:54
    #39009378
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запустить код в кнопке, не нажимая ручками на кнопку.
lopuxi
Код: vbnet
1.
If Cancel = True Then

???
...
Рейтинг: 0 / 0
18.07.2015, 03:41
    #39010343
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запустить код в кнопке, не нажимая ручками на кнопку.
Убрать крестик лучше, но можно и так:
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  If CloseMode = 0 Then
    MsgBox "Нужно нажать большую кнопку!", vbInformation, "Отмена"
    Cancel = True
  End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запустить код в кнопке, не нажимая ручками на кнопку. / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]