Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Ordnerdialog und dateidialog

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


  

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





  

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


  

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


 

Beiträge aus den Excel-Beispielen zum Thema "Ordnerdialog und dateidialog"