ADODB-Connection-String für .csv

Ich will zu verarbeiten .csv-Dateien mit ADODB in Excel-VBA. Ich habe versucht, ein paar strings gefunden, die auf web, aber keiner von Ihnen scheint zu funktionieren. Ich bin immer Datei Pfad verwenden:

strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")

Und dann gebe ich strVFile als parameter an die sub objReport.Load strVFile. Der header des sub ist: Public Sub Load(ByVal strFilename As String).

Dann versuche ich, um ADODB Verbindung mit 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

Wenn ich das makro ausführen, und wählen Sie CSV-Datei, es gibt Fehler auftreten, die sagen, dass "angegebene Pfad ist kein Gültiger Pfad". Was mache ich falsch?

Bearbeiten (Code),

Modul 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

Klasse 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
  • könnte Sie posten Sie Ihre vollständigen code, damit wir es testen?
  • Vorübergehend Debug.Print oder MsgBox zu zeigen, den Wert von strFilename sofort, bevor Sie es in der Verbindungszeichenfolge. Überprüfen Sie, dass es zeigt einen vollständigen Pfad zu der gewünschten Datei. Auch Delimited(;) sollte Delimited(,) für eine CSV-würde ich denken
  • Ich habe einige code, es ist nur ein paar Zeilen, aber es sollte zeigen mein problem. Ich habe versucht, sich auf den Weg und es scheint OK zu sein.
InformationsquelleAutor Jandrejc | 2011-09-06
Schreibe einen Kommentar