Lut*_*cha 6 excel vba excel-vba userform
我运行的程序会重复执行。当用户关闭用户窗体时,它应该停止。它运行不停。
由于该程序每8秒调用一次,因此我想在最后检查是否仍然加载/打开了用户窗体。
Public Sub NextPicture1()
PictureChange = Now + TimeValue("00:00:08")
If Onboarding_Projekt.Visible = True Then
Application.OnTime PictureChange, "NextPicture1"
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
您可以使用如下功能:
Public Function IsLoaded(formName As String) As Boolean
Dim frm As Object
For Each frm In VBA.UserForms
If frm.Name = formName Then
IsLoaded = True
Exit Function
End If
Next frm
IsLoaded = False
End Function
Run Code Online (Sandbox Code Playgroud)
用法:
If IsLoaded("Form_Test") Then
'Do Something
End If
Run Code Online (Sandbox Code Playgroud)
您的代码应如下所示:
Public Sub NextPicture1()
PictureChange = Now + TimeValue("00:00:08")
If IsLoaded("Onboarding_Projekt") Then
Application.OnTime PictureChange, "NextPicture1"
End If
End Sub
Public Function IsLoaded(formName As String) As Boolean
Dim frm As Object
For Each frm In VBA.UserForms
If frm.Name = formName Then
IsLoaded = True
Exit Function
End If
Next frm
IsLoaded = False
End Function
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6005 次 |
| 最近记录: |