.csv的ADODB连接字符串

Jan*_*ejc 1 excel vba connection-string adodb

我想在Excel VBA中使用ADODB处理.csv文件.我尝试在网上找到一些字符串,但它们似乎都没有用.我正在使用以下文件路径:

strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")
Run Code Online (Sandbox Code Playgroud)

然后我strVFile作为参数传递给sub 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
Run Code Online (Sandbox Code Playgroud)

当我运行宏并选择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
Run Code Online (Sandbox Code Playgroud)

类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
Run Code Online (Sandbox Code Playgroud)

Fio*_*ala 8

对于文本文件,Data Source是文件夹,而不是文件.该文件是表(SELECT*FROM ..).请访问http://www.connectionstrings.com/textfile