我怎样才能让 Msgbox 在其他应用程序上弹出?

我怎样才能让 Msgbox 在其他应用程序上弹出?

我有一个 Excel 宏,可以处理几个表中的数千行并执行一些复制/粘贴/分析/合并......操作。完全运行它需要将近 10 分钟。

MsgBox "Job Done"在最后添加了一个,问题是只有 Excel 是活动窗口时才会出现弹出窗口。例如,如果我在 Outlook 中,则不会弹出弹出窗口,这极大地限制了它的优势。

我可以设置一些东西让它弹出来吗?

答案1

跳出思维定式。除了信息框

弹出命令行窗口位于顶部

Sub Sample()
  RetVal = Shell("CMD /k echo Hello World", vbNormalFocus)
End Sub

注意:这不会停止您的 VBA 宏。它作为单独的进程运行

声音

Sub Sample()
  Beep
End Sub

笔记:默认蜂鸣声必须有相关声音才能工作

打开记事本以引起注意

Sub Sample()      
  Set WScript = CreateObject("WScript.Shell")
  WScript.Run "%windir%\notepad", 1
End Sub

阅读更多精彩文章对 Windows 脚本宿主进行编程. 可以使用以下方式更改焦点行为窗口样式

答案2

怎么样

vbSystemModal   4096    System modal; all applications are suspended until the user responds to the message box.

MsgBox 函数

相关内容