我已经编写了一个基于表单的文档生成宏(在VBA中),以便分发给销售团队。
为了便于使用,我想提供一个自包含的文件,它会在文档打开后立即显示表单。
使用AutoOpen如果word已经打开并且在其中打开了dotm文件,我可以按预期显示表单。但是,如果我从资源管理器中双击该文件,没有任何反应,我必须手动启动宏。我以为AutoExec可能允许这个,但没有运气。我花了很多时间试图通过谷歌搜索来实现这一点,但我没有到达任何地方。
即使双击打开文件,如何才能显示表单?是否可以在不必为每个用户更改normal.dotm的情况下执行此操作?
有关更多背景信息,我正在使用Word 2013,测试期间完全启用了宏。 dotm文件存储在受信任的位置。
我正在使用宏来启动这样的表单......
Public Sub AutoOpen()
StartPage.Show
End Sub
我尝试过使用AutoExec也无济于事。
答案 0 :(得分: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资源管理器双击它,您应该得到您想要的结果。