Ordnerdialog und dateidialog
17.02.2008 19:39:40
Dirk
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
Anzeige