Nig*_*olf 3 excel vba excel-vba
为什么我使用以下代码接收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
Run Code Online (Sandbox Code Playgroud)
我已经将对象声明为'cn',正确初始化它,然后在返回之前设置一些属性并打开它.
我在GetConnection = cn行收到错误.
如果内存对我有用......在使用经典vb中的引用类型(对象)时,需要使用'set'关键字
即:
Set GetConnection = cn
Run Code Online (Sandbox Code Playgroud)
这适用于所有赋值,而不仅仅是函数返回语句.