7

我编写了一个基于表单的文档生成宏(在 VBA 中),用于分发给销售团队。

为了便于使用,我想提供一个独立的文件,一旦打开文档就会显示表单。

如果 word 已经打开并且 dotm 文件在其中打开,使用 AutoOpen 我可以让表单按预期显示。但是,如果我在资源管理器中双击该文件,则什么也不会发生,我必须手动启动宏。我认为 AutoExec 可能允许这样做,但那里没有运气。我花了相当多的时间试图通过谷歌搜索等来解决这个问题,但我没有得到任何结果。

即使双击打开文件,如何使表单显示?是否可以在不必为每个用户更改 normal.dotm 的情况下做到这一点?

对于进一步的背景,我正在使用 Word 2013,在测试期间完全启用了宏。dotm 文件存储在受信任的位置。

我正在使用宏来启动这样的表单......

Public Sub AutoOpen()
    StartPage.Show
End Sub

我也尝试过使用 AutoExec 无济于事。

4

1 回答 1

8

在“generator.dotm”文件中,进入 Visual Basic 并进入“ThisDocument”Microsoft Word 对象。

在 Visual Basic 编辑器的顶部,选择左侧的“文档”,然后单击右侧的“新建”。 Private Sub Document_New()方法将出现供您编辑。然后你可以在那里调用你的用户表单。如同:

Private Sub Document_New()

    Dim myForm As UserForm1
    Set myForm = New UserForm1

    myForm.Show

End Sub

保存您的 Generator.dotm 并通过 Windows 资源管理器双击它,您应该会得到您想要的结果。

于 2014-06-30T14:47:13.583 回答