4

为什么我收到以下代码 的Object 变量或 With block variable not set错误:

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 行收到错误。

4

1 回答 1

10

如果记忆对我有用...在经典 vb 中使用引用类型(对象)时,您需要使用“set”关键字

IE:

Set GetConnection = cn

这适用于所有赋值,而不仅仅是函数返回语句。

于 2013-02-13T05:36:03.730 回答