从函数返回时对象变量或With块变量未设置

4
为什么在以下代码中会收到“对象变量或 With 块变量未设置”的错误:

Function GetConnection() As ADODB.Connection
    'Create connection to worksheet
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    cn.ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";" & "Extended Properties=Excel 8.0;"
    cn.Open
    GetConnection = cn
End Function

我已经将对象声明为“cn”,并正确初始化了它,在设置一些属性和打开它之后,才将其返回。在 GetConnection = cn 这一行出现了错误。
1个回答

11
如果我的记忆没有出错的话,当在 classic vb 中处理引用类型(对象)时,需要使用 'set' 关键字。
例如:
Set GetConnection = cn

这适用于所有的作业,不仅仅是函数返回语句。


太好了,成功了,谢谢!我有点尴尬,自己没能想出来。 - Nightwolf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接