为什么我使用以下代码收到 Object变量或With block变量未设置错误:
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行收到错误。
答案 0 :(得分:9)
如果内存对我有用......在使用经典vb中的引用类型(对象)时,需要使用'set'关键字
即:
Set GetConnection = cn
这适用于所有作业,而不仅仅是函数返回语句。