Das Archiv des Excel-Forums

Ordnerdialog und dateidialog

Bild

Betrifft: Ordnerdialog und dateidialog
von: Dirk

Geschrieben am: 17.02.2008 19:39:40

Hallo Spezialisten,
Habe heute von "Case" eine Lösung für mein Problem erhalten. Es funktioniert auch Super.
Danke nochmal!
Ich brauche Hilfe den Code so zu ändern, dass in B1 nicht nur der Name des Bildes ausgegeben wird, sondern auch der Pfad des Bildes ausgegeben wird.
z.B. C:\Eigene Dateien\Bilder\001.jpg
Damit vermeide ich Benutzerfehler, falls der Benutzer beim Dateidialog doch einen anderen Ordner auswählen sollte. Dann hätte ich nämlich in A1 den Pfad des Ordnerdialoges, aber in B1 den Namen der Bilddatei eines anderen Pfades.
Vielen Dank schon mal im Vorraus.
LG
Dirk
Der Originalcode :
Option Explicit


Public Sub Ordner()
Dim strVerzeichnis As String
If Ordnerwahl(strVerzeichnis) <> "" Then
ActiveSheet.Cells(1, 1).Value = strVerzeichnis
Else
MsgBox "Es wurde kein Ordner ausgewaehlt!"
End If
End Sub




Public Sub Datei()
Dim strBildDatei As String
If Trim$(ActiveSheet.Cells(1, 1).Value) = "" Then Exit Sub
If Dateiwahl(strBildDatei) <> "" Then
ActiveSheet.Cells(1, 2).Value = strBildDatei
Else
MsgBox "Es wurde keine Datei ausgewaehlt!"
End If
End Sub




Public Function Ordnerwahl(strOrdner As String) As String
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "C:\"
.Title = "Ordnerauswahl"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strOrdner = .SelectedItems(1)
If Right(strOrdner, 1) <> "\" Then strOrdner = strOrdner & "\"
Else
Exit Function
End If
End With
Ordnerwahl = strOrdner
End Function




Public Function Dateiwahl(strDatei As String) As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = ActiveSheet.Cells(1, 1).Value
.Title = "Dateiauswahl"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewDetails
.Filters.Add "Bilder", "*.gif; *.jpg; *.jpeg; *.bmp", 1
.FilterIndex = 1
If .Show = -1 Then
strDatei = Mid(.SelectedItems(1), _
InStrRev(.SelectedItems(1), "\", -1) + 1)
Else
Exit Function
End If
End With
Dateiwahl = strDatei
End Function


Bild

Betrifft: AW: Ordnerdialog und dateidialog
von: Josef Ehrensberger
Geschrieben am: 17.02.2008 19:42:31
Hallo Dirk,
ändere die Zeile


strDatei = Mid(.SelectedItems(1), _
InStrRev(.SelectedItems(1), "\", -1) + 1)


um in


strDatei = .SelectedItems(1)



Gruß Sepp




Bild

Betrifft: AW: Ordnerdialog und dateidialog
von: Daniel

Geschrieben am: 17.02.2008 19:47:25
Hi
ganz einfach: Code so abänderdern:


Public Function Dateiwahl(strDatei As String) As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = ActiveSheet.Cells(1, 1).Value
.Title = "Dateiauswahl"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewDetails
.Filters.Add "Bilder", "*.gif; *.jpg; *.jpeg; *.bmp", 1
.FilterIndex = 1
If .Show = -1 Then
strDatei = .SelectedItems(1)
Else
Exit Function
End If
End With
Dateiwahl = strDatei
End Function


die anderen Makros können so bleiben.
Gruß, Daniel

Bild

Betrifft: AW: Ordnerdialog und dateidialog
von: Dirk
Geschrieben am: 17.02.2008 20:03:18
Vielen Dank Josef und Daniel für die schnelle Antwort.
Jetzt ist es perfekt für meine Bedürfnisse.
LG
Dirk

 Bild

Excel-Beispiele zum Thema "Ordnerdialog und dateidialog"

Ordnerdialog mit nachfolgendem Dateidialog aufrufen download