检查用户表单是否存在

时间:2019-12-19 13:43:48

标签: vba outlook-vba

当我尝试检查两种方法时,似乎没有用户表单。

我的用户窗体放在这里:

Screnshot of Outlook VBA

代码位于Modul3中:

ext

我想检查是否存在指定的用户窗体,以便可以在此处或普通的Msg​​Box中选择打印详细信息。

为什么不计算用户表单,或者我该怎么做才能获得TRUE检查结果?

解决方案
正如warcupine所述,以下步骤很有帮助:

  1. 将用户窗体的属性 ShowModal 设置为 false
  2. 添加以下代码行:'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

1 个答案:

答案 0 :(得分:1)

UserFormNewPath.Show以显示用户窗体。然后要删除模态,它将停止所有执行,直到您处理模态为止,请转到UserForm属性,然后将模态设置为False。您可以通过在设计模式下右键单击表单来访问属性,并且应该会出现一个侧边栏。