Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Jackie_brown am April 10, 2006, 11:43:59

Titel: FileDialog
Beitrag von: Jackie_brown am April 10, 2006, 11:43:59
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

Titel: Re: FileDialog
Beitrag von: Jackie_brown am April 10, 2006, 13:50:27
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
Titel: Re: FileDialog
Beitrag von: pahiti78 am Oktober 27, 2012, 09:33:07
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?
Titel: Re: FileDialog
Beitrag von: DF6GL am Oktober 27, 2012, 11:18:34
Hallo,

Transfertext benutzen....
Titel: Re: FileDialog
Beitrag von: pahiti78 am Oktober 27, 2012, 12:32:49
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?
Titel: Re: FileDialog
Beitrag von: DF6GL am Oktober 27, 2012, 14:14:33
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.