首页 > 解决方案 > Word VBA:静态状态对话框窗口

问题描述

我创建了一个表单,它可以很好地与在后台运行的宏一起验证数据,然后将文档打印到网络上的特定打印机。

这个过程的关键元素是一个生产编号值,我想保留一个运行日志并显示在静态状态对话框窗口中。换句话说,一个类似于 MsgBox 的弹出窗口不会干扰表单上的其他操作,而是浮动在文档顶部。

这个的视觉概念是......

在此处输入图像描述

如果需要,用户可以将窗口从他们的工作中移开。如果需要,请关闭窗口,但实际上我想在每次后台宏完成时重新弹出/刷新窗口中的数据。

我不能使用 MsgBox,因为它会在用户继续处理文档之前强制关闭窗口。我只是希望用户可以看到它,以便他们知道最后一次工作是什么以及之前的几个工作。

知道我可以使用什么控件,或者切换到允许用户继续工作的 MsgBox 吗?

肯...

PS:我发现了这个,并试图找到一种方法让这个工作适合我。到目前为止,我已经设法以我想要的方式运行,但挥之不去的问题是如何调用这个 PS 脚本并包含我需要显示的信息。 VBScript 中 MsgBox 的替代方案 - 代码日志

PPS:我选择了一条稍微不同的路线,并使用显示在宏末尾的 MsgBox 发布表单。我在下面提到的解决方案中对此进行了描述。

标签: vbams-worddialogmsgbox

解决方案


请考虑使用 VBA 用户窗体,而不是使用 MsgBox。它们的使用并不比 MegBox 复杂多少,但您可以将它们设置为Modeless。在您处理 Word 文档时,无模式对话框在屏幕上保持打开状态。这是微软关于将对话框设置为模态或无模式的页面:显示方法

如果您在VBA 无模式对话框上进行搜索,您会发现许多其他有关该主题的有用页面。


推荐阅读