Hallo Freunde,
ich habe ein problem mit dem FileDialog. Ich würde gerne eine Excel-datei importieren und würde dies gerne mit TransferSpreadsheet machen. Dazu wollte ich mir nun eben den Pfad der zu importierenden Datei mit FileDialog machen.
zuerst habe ich es so probiert:
Dim File As FileDialog
Dim vrtSelectedItem As Variant
Set File = Application.FileDialog(msoFileDialogFilePicker)
With File
.AllowMultiSelect = False
.show
If .show = -1 Then
For Each vrtSelectedItem In .SelectedItems
MsgBox "The path is: " & vrtSelectedItem
Next vrtSelectedItem
Else
End If
End With
Aber da sagt er mir das er den Datentyp "FileDialog" nicht kennt, obwohl dieses Stückchen Code aus diversen Hilfen abgeleitet wurde.
Dann hab ich es damit probiert:
Dim vrtSelectedItem As Variant
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.show
If .show = -1 Then
For Each vrtSelectedItem In .SelectedItems
MsgBox "The path is: " & vrtSelectedItem
Next vrtSelectedItem
Else
End If
End With
Und da sagt er mir das die Methode FileDialog für Application fehlgeschlagen ist. Und auch diese Zeilen kamen u.a. aus diesem Forum hier.
bin ich jetzt einzig und allein zu dumm oder liegts an VBA? Ich möchte doch nur den pfad zu einer excel-datei in irgendeine dumme variable schmeissen...
[edit] ich bin jetzt schonmal einen schritt weiter, er öffnet ein dateiDialog und ich kann etwas auswählen. nun bekomme ich das übergeben des pfades in einen string nicht hin :
Dim Tmp
Dim pfad As String
Dim vrtSelectedItem As Variant
Set Tmp = FileDialog(msoFileDialogFilePicker)
With Tmp
.AllowMultiSelect = False
.show
For Each vrtSelectedItem In .SelectedItems
MsgBox "The path is: " & vrtSelectedItem
MsgBox vrtSelectedItem
pfad = vrtSelectedItem
Next vrtSelectedItem
End With
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, tblImport, vrtSelectedItem, True
ok, ich habs jetzt
Dim Tmp
Dim pfad As String
Dim vrtSelectedItem As Variant
Set Tmp = FileDialog(msoFileDialogFilePicker)
With Tmp
.AllowMultiSelect = False
.show
For Each vrtSelectedItem In .SelectedItems
pfad = vrtSelectedItem
MsgBox "The path is: " & vrtSelectedItem
MsgBox vrtSelectedItem
Next vrtSelectedItem
End With
DoCmd.TransferSpreadsheet acImport, , "tblImport", pfad, False
Hallo,
ich koch das Thema nochmal hoch.
Die oben beschriebende Prozedur klappt super bei Importen aus Exceldateien. Was muss ich ändern um, TXtDateien und CSV.Dateien importieren zu können?
Hallo,
Transfertext benutzen....
Hallo Franz,
danke für deine Hilfe.
Es erscheint allerdings eine Fehlermeldung, dass Access die Textdatei nicht finden kann. (Laufzeitfehler 3011)
Muss ich vielleicht in den Verweisen noch irgendetwas einstellen?
Hallo,
nein, mit Verweisen hat das wohl nichts zu tun, eher damit, dass Access die (in der Variablen "Path" angegebene) Textdatei nicht finden kann....Evtl. ist auch noch eine Import-Spezifikation vonnöten.