|
|
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
У меня в середине Sub'a вызывается форма, после манипуляций с ней Sub продолжает работу с полученными данными. Как закрыть sub из формы если пользователь нажмет на крестик (правый верхний угол) в форме? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2009, 15:04 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Через глобальную переменную или свойство формы. Проверьте их значение после закрытие формы и выходите из sub. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2009, 20:41 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Не могли бы Вы показать это на примере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2009, 22:26 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Kirillka, вы на чем пишите? Если смотреть на данный вопрос со стороны VB6, то не совсем понятно получается... процедура будет все-равно вполняться до конца даже при вызове другой формы (если конечно речь не идет о MsgBox, InputBox и т.п.), например такая (F2 - это форма): Код: plaintext 1. 2. 3. 4. 5. Приведите хотя бы часть своего кода.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2009, 23:14 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
sademKirillka, вы на чем пишите? Дорогой sadem я пишу на иврите. как закрыть sub из формы на vba В Visual Basic for Applications в отличие от Visual Basic (модальные, не модальные) есть только один вид форм. MsgBox, InputBox это диалоговые окна а не формы. Форма это объект UserForm. В Visual Basic for Applications когда Sub вызывает форму его выполнение прекращается до того момента пока форма не будет выгружена или скрыта. Так вот если пользователь увидев форму пришел к выводу что дальнейшее выполнение программы для него не целесообразно, он захочет ее закрыть (крестик в правом верхнем углу), естественно после этого ни мне ни пользователю дальнейшее выполнение кода ненужно, по этому Sub надо закрыть. Вопрос: Как закрыть sub из формы, на Visual Basic for Applications Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2009, 00:09 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Kirillka, ну просчет мой, не заметил, но на vba она все равно будет выполнение процедуры до конца... Давайте проверим (VBA 6.5.1020): Код: plaintext 1. 2. 3. 4. Ну ладно, а вообще если на то пошло, сделайте маркер, типа Boolean, который например будет принимать значение true только в том случае, если посльзователь вышел из второй формы не через "крестик" (как я полагаю, есть и второй способ выхода из формы, что-то типа кнопки "выход" или "ок", вот там и ставьте изменение этой метки), а далее в процедуре сразу после запуска формы условие - if Not(маркер) Then Exit Sub. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2009, 11:17 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
я использую просто "end" Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then End End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2009, 10:58 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Господа Вы не понимаете чего мне надо. Мне надо чтобы из этого Sub'a Код: plaintext 1. 2. 3. Код: plaintext 1. Код: plaintext 1. Задача в том чтобы передать любому Sub'у команду (параметр) на закрытие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2009, 12:11 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
В модуле пишем так Код: plaintext 1. 2. 3. 4. 5. 6. 7. В коде формы так Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2009, 13:36 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Дорогой Kirillka, похоже Вы действительно пишите на "иврите". Что-то как-то непонятно задачу ставите. Выполнение двух процедур одновременно происходит очень редко и в определенных случаях - при рекурсии или например, в элементе таймер (которого в vba вроде нет, хотя точно не помню). Но по вашему описанию трудно догадаться в каком месте и что находится в коде. Приведите наконец-то часть своего кода (то, что вы пишите кодом трудно назвать, это лишь попытка что-то объяснить форумчанам). Тогда может всё-таки Вам кто-то поможет, а иначе "гадать" вряд ли стоит над вашим вопросом.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2009, 21:53 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
KirillkaГоспода Вы не понимаете чего мне надо. Мне надо чтобы из этого Sub'a Код: plaintext 1. 2. 3. Код: plaintext 1. Код: plaintext 1. Задача в том чтобы передать любому Sub'у команду (параметр) на закрытие. Собственно говоря, это невозможно. Вот и весь ответ. А способы окончания работы или обыкновенной проверки на продолжение выполнения процедуры - это взависимости, от того что Вы хотите чтобы выполнялось дальше. Я бы немного дополнил следующим в случае продолжения выполнения программы авторOption Explicit Public a As Boolean Sub Zapusk() a = False UserForm1.Show If a Then call Любая_Другая_Функця(параметры):Exit Sub MsgBox 123 End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 05:45 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Это делается так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 12:39 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
Сделал так: В модуле Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2009, 19:37 |
|
||
|
как закрыть sub из формы на vba
|
|||
|---|---|---|---|
|
#18+
повторюсь, если вам необходимо остановить работу макроса (а не просто выйти из некоей процедуры и продолжить работать). то достаточно написать: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2009, 16:36 |
|
||
|
|

start [/forum/moderation_log.php?user_name=ttttttttttttrtrtrttttttttttt]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
135ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 711ms |
| total: | 984ms |

| 0 / 0 |
