首页 > 解决方案 > VBA:仅从不同的文档加载用户窗体

问题描述

在这里使用 VBA(完全是初学者)。我希望 Doc1 中的 UserForm(例如“Master”)在单击按钮时从 Doc2 加载 UserForm(例如“Apprentice”)。我不希望 Doc2 打开 - 只有它的 UserForm。

从 Doc1 加载“学徒”用户窗体后,我希望其按钮的操作适用于 Doc1。因此,例如,如果 Apprentice 用户窗体有一个向文档添加字符串“Hello”的按钮,则单击时它应该将“Hello”添加到 Doc1。

希望这是有道理的,如果没有,请提前道歉

标签: vbauserform

解决方案


你问的是不可能的。为了访问和运行文档中的代码,该文档必须在 Word 中运行(打开)。VBA 代码无法从已关闭的文档中运行。

也许您需要的是作为加载项加载的 dotm(模板) - 代码已加载,但文件未按通常意义上的术语打开。例如,在这个意义上,Normal.dotm 充当加载项,但用户也可以访问。用户无法以与 Normal.dotm 相同的方式访问作为加载项加载的任何其他模板,但它包含的代码以相同的方式可用。

Doc1 中的代码可以运行加载项中的代码,加载项中的代码可以与当前在 Word 应用程序中打开的任何文档一起使用。


推荐阅读