首页 > 解决方案 > 为什么用户窗体打开时 OnTime 不执行?

问题描述

我正在尝试使用自激活 OnTime 子程序来编辑 UF 控件中的一些文本。但是,我发现 在用户窗体关闭之前Application.OnTime,事件不会开始工作。

根据这个SO 线程,我已将自激活子放在常规模块的公共子中。然而,这无济于事。

超滤子

Private Sub UserForm_Initialize
    TEST.loadingdots
End Sub

常规子

Public Sub loadingdots
    Debug.Print 4
    Application.OnTime Now + TimeValue("00:00:02"), "loadingdots"
End Sub

第一个“4”被打印出来,然后什么也没有。当我关闭 UF 时,程序会按预期执行。

我该如何解决这个问题?

标签: excelvba

解决方案


回答我自己的问题以供将来参考

当 UF 持有 RefEdit 控件时,不会执行 OnTime 事件。

我创建了一个新的空白 UF,它没有引起任何问题。

似乎需要谨慎处理 RefEdits,类似于在无模式用户窗体中使用 RefEdit 控件如何强制用户通过任务管理器关闭 Excel 应用程序


推荐阅读