当我尝试检查两种方法时,似乎没有用户表单。
我的用户窗体放在这里:
代码位于Modul3中:
ext
我想检查是否存在指定的用户窗体,以便可以在此处或普通的MsgBox中选择打印详细信息。
为什么不计算用户表单,或者我该怎么做才能获得TRUE检查结果?
解决方案
正如warcupine所述,以下步骤很有帮助:
'Called in Modul3
Sub testUf()
MsgBox VBA.UserForms.Count 'gives result of 0
MsgBox isFormLoaded("UserFormNewPath")'gives result of FALSE
End Sub
Function isFormLoaded(ByVal strName As String) As Boolean
Dim i As Integer
isFormLoaded = True
strName = LCase(strName)
For i = 0 To VBA.UserForms.Count - 1
If LCase(UserForms(i).Name) = strName Then Exit Function
Next
isFormLoaded = False
End Function
答案 0 :(得分:1)
UserFormNewPath.Show
以显示用户窗体。然后要删除模态,它将停止所有执行,直到您处理模态为止,请转到UserForm属性,然后将模态设置为False。您可以通过在设计模式下右键单击表单来访问属性,并且应该会出现一个侧边栏。