【问题标题】:Control User Focus during processing VBA在处理 VBA 期间控制用户焦点
【发布时间】:2011-08-04 01:43:00
【问题描述】:

当用户单击“开始”运行我的 vba 应用程序时,它正在处理大约 30 秒的数据,有没有办法在此期间出现一个框,上面写着“处理”之类的东西,并且不允许用户点击任何地方直到它完成/消失?

提前致谢, 乔

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您是否尝试过显示一个消息框,然后禁用更新屏幕和事件,直到该过程结束?用户将能够关闭消息框,但在您处理时他们将无法与工作表进行交互。它想要这样的东西:

    MsgBox "Please wait until the process is complete. This may take some time."
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    'Your Code Here
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    

    【讨论】:

    • 嗯,我试试看。但是他们怎么知道它什么时候完成,我有点希望有一个消息框之类的东西,但是在处理完成之前他们无法摆脱。
    • 您可以尝试创建一个表单并禁用关闭按钮,而不是消息框。之后,您可以在处理完成后手动销毁框架。查看vbforums.com/showthread.php?t=363931 了解有关防止表单关闭的信息,查看tek-tips.com/faqs.cfm?fid=5757 了解有关创建表单的一些信息
    • 嗯,是的,我觉得应该有一个更简单的方法来做没有表格,但是应该工作,感谢输入。其中一种方法可以满足我的需要。
    猜你喜欢
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多