Я пытаюсь создать пользовательскую форму с именем "UtilTextBox", которая будет получать ввод текста от пользователя. Результат будет отправлен обратно в пользовательскую форму, которая создала «UtilTextBox». «UtilTextBox» должен многократно использоваться для любой будущей пользовательской формы.
Я пытался передать имя исходящей пользовательской формы в пользовательскую форму TextBox и вызвать ее с помощью Application.Run, когда пользователь нажимает кнопку отправки.
Подпрограмма в первой пользовательской форме с именем «TextEditor»
Private Sub Between1Edit_Click()
UtilTextBox.Show
UtilTextBox.callback = "TextEditor.GetResult"
End Sub
Код «UtilTextBox»
Public callback As String
Private Sub Send_Click()
Application.Run callback, TextBox.text
End Sub
Подпрограмма первой пользовательской формы, которая получит ввод текста
Public Sub GetResult(result As String)
MsgBox result
End Sub
Кстати, обе пользовательские формы находятся в одной книге.
Я ожидал, что отправленный пользователем текст будет передан и распечатан MsgBox.
Вместо этогоиз этого я получил ошибку во время выполнения '1004': невозможно запустить макрос.
Разве невозможно вызвать публичные подпрограммы из пользовательской формы с помощью Application.Run?