Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как была закрыта форма в другой книге - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как была закрыта форма в другой книге (Макросы/Sub)
Как была закрыта форма в другой книге
Sobirjon Дата: Понедельник, 29.06.2020, 07:10 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 2 ±
Замечаний: 0% ±

2016
Доброго времени суток!
Есть ли способ узнать как была закрыта форма другой книги?

Например
[vba]
Код
Private Sub CommandButton1_Click()
    '  Код кнопки в форме книга1
    Dim sRunMacro$
    sRunMacro = "'" & ThisWorkbook.Path & "\" & "Книга2.xlsb'!Module1.ShowForm"
    Call Application.Run(sRunMacro)
    ' здесь надо узнать о том как была закрыта форма
    if если форма была закрыта вручную then
        MsgBox "Форма была закрыта вручную"
        Exit Sub
    Else
        MsgBox "Форма была закрыта макросом"
    End If
End Sub
[/vba]
Буду признателен, если решения найдется без работы с реестром и классом, так как в них не разбираюсь :D
Если, все же без них ни как, буду не мене благодарен за пример. yes

P\S Через реестр вроде разобрался
[vba]
Код
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        SaveSetting "MyApp", "MySection", "QueryClose", 0
    End If
End Sub
[/vba]
ну и соответственно провреить после закрытие
[vba]
Код
If GetSetting("MyApp", "MySection", "QueryClose") = 0 Then Exit Sub
[/vba]
но все же не хотелось бы узнать можно ли использовать без использовании реестра
К сообщению приложен файл: 0916806.rar (23.0 Kb)


Сообщение отредактировал Sobirjon - Понедельник, 29.06.2020, 08:01
 
Ответить
СообщениеДоброго времени суток!
Есть ли способ узнать как была закрыта форма другой книги?

Например
[vba]
Код
Private Sub CommandButton1_Click()
    '  Код кнопки в форме книга1
    Dim sRunMacro$
    sRunMacro = "'" & ThisWorkbook.Path & "\" & "Книга2.xlsb'!Module1.ShowForm"
    Call Application.Run(sRunMacro)
    ' здесь надо узнать о том как была закрыта форма
    if если форма была закрыта вручную then
        MsgBox "Форма была закрыта вручную"
        Exit Sub
    Else
        MsgBox "Форма была закрыта макросом"
    End If
End Sub
[/vba]
Буду признателен, если решения найдется без работы с реестром и классом, так как в них не разбираюсь :D
Если, все же без них ни как, буду не мене благодарен за пример. yes

P\S Через реестр вроде разобрался
[vba]
Код
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        SaveSetting "MyApp", "MySection", "QueryClose", 0
    End If
End Sub
[/vba]
ну и соответственно провреить после закрытие
[vba]
Код
If GetSetting("MyApp", "MySection", "QueryClose") = 0 Then Exit Sub
[/vba]
но все же не хотелось бы узнать можно ли использовать без использовании реестра

Автор - Sobirjon
Дата добавления - 29.06.2020 в 07:10
RAN Дата: Понедельник, 29.06.2020, 09:46 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Можно. Пишите не в реестр, а на лист лога, или в файл лога.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМожно. Пишите не в реестр, а на лист лога, или в файл лога.

Автор - RAN
Дата добавления - 29.06.2020 в 09:46
Sobirjon Дата: Понедельник, 29.06.2020, 10:30 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 2 ±
Замечаний: 0% ±

2016
RAN, Спасибо, за отклик.
на лист лога, или в файл лога.

К сожалению их использовать не планировал, по большей части хотелось бы узнать о том как вообще заставить слушать друг друга, формы из разных проектов (книг).
Через процедуры модулей. Если решения не найдется, буду использовать реестр.
И если это возможно через классы, то посмотреть как это можно реализовать. (про классы знаю, совсем немного и очень туманно)
Если всё же ни так и ни так, тогда оставлю реестр
 
Ответить
СообщениеRAN, Спасибо, за отклик.
на лист лога, или в файл лога.

К сожалению их использовать не планировал, по большей части хотелось бы узнать о том как вообще заставить слушать друг друга, формы из разных проектов (книг).
Через процедуры модулей. Если решения не найдется, буду использовать реестр.
И если это возможно через классы, то посмотреть как это можно реализовать. (про классы знаю, совсем немного и очень туманно)
Если всё же ни так и ни так, тогда оставлю реестр

Автор - Sobirjon
Дата добавления - 29.06.2020 в 10:30
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как была закрыта форма в другой книге (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!