FileDialog - Absoluten Pfad anzeigen

19/01/2009 - 14:40 von Patrick Pohlmann | Report spam
Hallo Zusammen,

ich nutze FileDialog um einen Pfad aus dem Dateisystem heraus zu suchen.
Leider wird dieser aber relativ übergeben? Kann ich das auch anders ahben?
Oder kann ich den relativen Pfad spàter wieder in einen absoluten wandeln?

Folgenden Code nutze ich

Public Function Dateipfad(strVorgabe As String)

Dim fd As FileDialog

Dim vrtSelectedItem As Variant

With fd

If strVorgabe = "" Then
'.InitialFileName = "f:\"
Else
.InitialFileName = strVorgabe
End If
If .Show = -1 Then

Dateipfad = vrtSelectedItem

Next vrtSelectedItem
Else
End If
End With

Set fd = Nothing

End Function


Schon mal Danke für Eure Hilfe.

Grüße

Patrick!
 

Lesen sie die antworten

#1 Thomas Kühn
19/01/2009 - 16:38 | Warnen spam
Hallo Patrick,

steht der Code wirklich so bei dir im Modul?
Er sieht wie der Code aus der Hilfe aus, nur dass da
einige Zeile fehlen.



Public Function Dateipfad(strVorgabe As String)

Dim fd As FileDialog

     Dim vrtSelectedItem As Variant



fs wird hier nirgendwo zugewiesen.


    With fd

    If strVorgabe = "" Then
    '.InitialFileName = "f:\"
    Else
    .InitialFileName = strVorgabe
    End If
        If .Show = -1 Then



Ich würe eher auf True prüfen. Ist im Endeffekt zwar das
gleiche, ist aber lesbarer.


    Dateipfad = vrtSelectedItem



Vorab fehlt hier eine Zeile in der vrtSelectedItem
zugewiesen wird.
Gem. Hilfe:
For Each vrtSelectedItem In .SelectedItems
Dateipfad = vrtSelectedItem
Next vrtSelectedItem

Das macht natürlich nur Sinn, wenn auch mehrere
Dateien im Dialog selektiert werden dürfen.

.AllowMultiSelect = True

Es wird an Dateipfad aber nur der letzte selektierte
Dateiname übergeben. Kürzer wàre damit:


Public Function Dateipfad(strVorgabe As String) As String

Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
If strVorgabe <> "" Then .InitialFileName = strVorgabe
If .Show = True Then
Dateipfad = .SelectedItems
End If
Wend
Set fd = Nothing

End Function




Gruß Thomas

http://www.thomas-kuehn.de

Ähnliche fragen