【发布时间】:2019-07-29 21:29:42
【问题描述】:
我正在编写一个包含 1 个模块 (m1) 和 1 个用户表单 (uf) 的 VBA 项目。 在“ThisDocument”中,我从“m1”调用了一个公共子,它初始化了一个集合,然后我在用户表单中引用。在我将此项目部署到其他文件之前,这工作得很好。
我将文件作为 .dotm 保存在 %Appdata%/Microsoft/word/startup 文件夹中,这样我就可以在我的所有 word 文件中使用该项目。但是一旦我尝试在其他文件中使用我的项目,用户表单就会按设计自行打开,但集合是空的。
这可能是什么问题?
从用户窗体手动调用初始化方法可以正常工作。
'----------------------------------------------ThisDocument
Private Sub Document_Open()
initBetaCollection
End Sub
'----------------------------------------------m1
Option Explicit
Public beta As Collection
Sub initBetaCollection()
Set beta = New Collection
beta.Add Array("0041", "A"), Key:="0041"
'...
End Sub
'----------------------------------------------uf
Option Explicit
Private Sub txtSearch_Change()
Dim arr As Variant
Dim search As String
'Defining the textinput as "search"
search = txtSearch.Value
For Each arr In beta
If search <> "" Then 'No empty search field
If arr(1) Like "*" & search & "*" Then 'Match found
lbResults.AddItem arr(0)
End If
End If
Next
End Sub
我得到:需要运行时错误“424”对象
【问题讨论】: