Во-первых, посмотрите этот полезный Блог RubberDuck о работе с пользовательскими формами, очень полезный и применимый.Это то, на чем я основываю свой ответ.
Попробуйте создать экземпляр вашей пользовательской формы с помощью оператора With
, чтобы у вас был захваченный экземпляр этого файла, к которому у вас есть доступ к различным его свойствам, которые выразоблачить.
Обратите внимание, что в этом случае вам не нужно хранить переменные, поскольку у вас все еще есть доступ к ним в вашем экземпляре пользовательской формы.Вот пример ниже.
Sub LoopThroughFiles()
With New UIAutotestHeader
.Show
If Not .IsCancelled Then
If .PyPath = "" Then
MsgBox "Please add a path having .py files."
End If
End If
End With
End Sub
В вашей пользовательской форме вы можете предоставить свойства, к которым вы хотите иметь доступ.Я также добавил метод IsCancelled
, чтобы пользователь не нажимал кнопку отмены.
Option Explicit
Private cancelled As Boolean
Public Property Get PyPath() As String
PyPath = pypath.Value
End Property
Public Property Get IsCancelled() As Boolean
IsCancelled = cancelled
End Property
Private Sub CommandButton1_Click()
Hide
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = VbQueryClose.vbFormControlMenu Then
Cancel = True
OnCancel
End If
End Sub
Private Sub OnCancel()
cancelled = True
Hide
End Sub