Word VBA: 文档间共享变量

Word VBA: Sharing variables between documents

我觉得这应该是显而易见的,我只是找不到任何地方的答案。

我有一个 Word 文档,其中包含几个 Public 在各种过程中声明和定义的变量。一个过程打开另一个 Word 文档,其中有一个在打开时加载的表单。对于我的生活,我无法在第二个文档中获得该表单以使用原始文档变量中的值。我是否误解了 Public 变量的性质?我发现的一切似乎都表明这些值应该对新打开的文档可见。

所以要打开第二个文档,我使用下面的代码(其中一些是在别处声明和设置的,但我认为这是相关的东西:

Public iMarker as boolean

Sub OpenDoc()
   If check_ExA.Value = True Then 'a checkbox on a userform
   docName = docsPath & "/" & "seconddocumentpath.docm"
   iMarker = True
   formAddDocs.Hide
   Set addDoc = Documents.Open(docName)
End Sub

从那里开始,新文档有一个在打开时显示的表单,在初始化时,我希望它能够查看 iMarker 变量是否为真,以及其他一些字符串等。

Private Sub UserForm_Initialize()

If iMarker = True Then
  'do some other stuff
End If

End Sub

我尝试将 Initialize sub 更改为 public 但没有任何作用。当第二个文档打开时,它不会看到 iMarker 为真。有什么建议吗?

要使 doc01 ("source doc") 的 public 变量可用于 doc02 ("target doc") 文档,请执行以下操作:

  • 打开"source doc"

  • 打开"target doc"

  • 单击工具-> 参考文献

  • 从“引用”对话框的“可用引用”列表框中单击 "source doc"

    的 "Project"

    您可以从对话框底部附近出现的路径中识别出来

    否则

    • 关闭引用对话框
    • 转到 "source doc" 并使用有意义的名称(例如 "MainProject")重命名其项目(工具 -> 项目属性,编辑 "project name" 文本框并单击 "OK")
    • 返回"target doc"项目
    • 打开引用对话框,现在从可用引用列表框中单击 "MainProject" 引用
  • 保存并关闭目标文档