VBA Outlook检查用户窗体是否存在

问题描述 投票:0回答:1

似乎没有用户表单,我尝试通过两种方法进行检查。

我的用户窗体放在这里:

Screnshot of Outlook VBA

代码位于Modul3中:

'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

背景:我想检查指定的用户窗体是否存在,可以在此处或普通MsgBox的打印详细信息之间进行选择。为什么不计算用户表单,或者我该怎么做才能获得TRUE检查结果?

++++解决方案++++

正如@warcupine提到的,添加以下步骤很有帮助:

  1. 将用户窗体的属性ShowModal设置为false
  2. 添加此代码行:UserFormNewPath.Show

    UserFormNewPath.Show

vba outlook-vba
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.