Я хочу обработать CSV-файлы с помощью ADODB в Excel VBA.Я попробовал несколько найденных в сети строк, но ни одна из них, похоже, не работает.Я получаю путь к файлу, используя:
strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")
И затем я передаю strVFile
в качестве параметра в подпункт objReport.Load strVFile
.Заголовок подпрограммы: Public Sub Load(ByVal strFilename As String)
.
Затем я пытаюсь установить соединение ADODB, используя строку:
pconConnection.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFilename & _
";Extended Properties=""text;HDR=Yes;FMT=Delimited(;)"";Persist Security Info=False"
pconConnection.Open
Когда я запускаю макрос и выбираю файл CSV, возникает ошибка, говорячто «данный путь не является допустимым путем».Что я делаю не так?
Редактировать (код) ,
Модуль mdlReport
Public Sub Report()
Dim objReport As clsReport
MsgBox "Please select .csv file", vbInformation + vbOKOnly
strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")
If strVFile <> False Then
Set objReport = New clsReport
objReport.Load strVFile
End If
End Sub
Класс clsReport
Private pconConnection As ADODB.Connection
Private prstRecordset As ADODB.Recordset
Private Sub Class_Initialize()
Set pconConnection = New ADODB.Connection
pconConnection.ConnectionTimeout = 40
End Sub
Public Sub Load(ByVal strFilename As String)
pconConnection.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFilename & _
";Extended Properties=""text;HDR=Yes;FMT=Delimited(;)"";Persist Security Info=False"
pconConnection.Open
End Sub