【问题标题】:Allow function/loop to run while msgbox is open VBA允许函数/循环在 msgbox 打开时运行 VBA
【发布时间】:2017-06-16 18:48:12
【问题描述】:

我正在完成一个程序,想要为“关于”标签做一些花哨的。我是复活节彩蛋之类的超级粉丝,并且想做一些很酷的事情。我的想法是,当按下按钮时,运行一个函数来对单元格进行颜色拼贴,同时一个 msgbox 弹出窗口说“嘿,谢谢你使用我的程序”或类似的东西,然后函数在 msgbox“ok”时立即结束被点击。有什么简单的方法可以做到这一点吗?它不是超级重要,但它对未来的应用程序也非常有用。

这就是我想要的:

do while msgbox <> ok
'something amazing I guess
next

我找不到任何类似的东西;话虽如此,我可能没有问正确的问题。提前致谢!

【问题讨论】:

  • 使用自定义用户表单并使用非模态选项显示它。
  • @TimWilliams,如果我理解这些,它将无法正常工作。在按下“ok”之前,我需要该功能是无限的。我的理解是非模态用户表单在时间/任务结束时终止,而不是表单本身关闭。
  • 非模式保持打开状态,直到您关闭它们。您将在进入循环之前启动表单,然后在表单上有一个终止循环的按钮(通过在循环中检查的表单上设置全局标志或属性) - 当您的循环检测到“OK “它退出。您可能必须使用 DoEvents 来允许表单响应 OK 按钮,具体取决于您计划使用的循环类型。

标签: vba msgbox


【解决方案1】:

在我看来,您可以做一个在点击事件上打开的非模态表单,例如:

Do While msgbox("Hey thanks for using my Kick-ass," & Vbcrlf & _
" better then you ever thought possible program",vbokonly,"Title of Program here") <> vbok

'tell you form do colour tiles and any form of magic you want here

next

Vbok,是 Msgbox 返回的内容。

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 2015-12-25
    • 1970-01-01
    • 2017-02-05
    • 2014-06-27
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多