вызовите форму да / нет из модуля в VBA - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть модуль, который автоматически отправляет несколько писем. Я хочу вызвать пользовательскую форму / msg, которая спрашивает: «Вы действительно хотите отправить все письма?», В зависимости от того, выбрано ли «да» или «нет», макрос продолжается или нет.

Я знаю простое решение с помощью MsgBox (text, vbYesNo), но я хочу решить эту проблему с помощью пользовательской формы, потому что с этим я тоже могу решать разные задачи.

как это сделать, чтобы макрос продолжался только после нажатия кнопки «Да» в пользовательской форме? большое спасибо

1 Ответ

0 голосов
/ 11 сентября 2018

Вы можете добавить свойство в свою пользовательскую форму, которое будет указывать, был ли нажат «Да», например:

Private bYesClicked As Boolean

Public Property Get YesClicked() As Boolean
     YesClicked = bYesClicked
End Property

Затем установите bYesClicked в «Истина» и скрыть пользовательскую форму при нажатии кнопки «Да»:

Private Sub YesButtonClick()
   bYesClicked = True
   Me.Hide
End Sub

Чтобы использовать его, покажите свою пользовательскую форму модально, затем получите доступ к свойству YesClicked:

Dim u As MyUserForm
Set u = New MyUserForm
u.Show vbModal
If u.YesClicked Then ...
...