I have an external program that exports data to CSV files. My users would like to access this data through the VBA function in excel. To do this, I thought of a wrapper for a CSV file read into a function that returns ADODB.Recordset. My code
Public Function getData(fileName As String) As ADODB.Recordset
Dim path As String
path = "C:\testDir\"
Dim cN As New ADODB.Connection
Dim RS As New ADODB.Recordset
cN.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & path & ";" & _
"Extended Properties=""text; HDR=Yes; FMT=Delimited; IMEX=1;""")
RS.ActiveConnection = cN
RS.Source = "select * from " & fileName
Set getData = RS
End Function
I am trying to call this function using
Dim a As ADODB.Recordset
Set a = getData("testFile.csv")
a.Open()
At this point, I get a compilation error with the expression "=". Can someone point me in the right direction, how should I name my function and skip the data?
user1625066
source
share