Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

FileDialog

Begonnen von Jackie_brown, April 10, 2006, 11:43:59

⏪ vorheriges - nächstes ⏩

Jackie_brown

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


Jackie_brown

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

pahiti78

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?
Gruß
Matze


pahiti78

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?
Gruß
Matze

DF6GL

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.