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 23:44:24

Hallo Spezialisten,

Ich habe folgendes Problem:

Ich habe einen Macro, der in A1 den Ordnerdialog und in A2 den Dateidialog ausgibt.
Ich möchte aber, dass in A3 zusätzlich der Dateidialog mit dem Dateinamen ausgeben wird.
Der Code ist bekannt:

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

Wie baue ich diesen ein?

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(2, 1).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 = ""
        .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 = .SelectedItems(1)
          Else
              Exit Function
          End If
      End With
      Dateiwahl = strDatei
  End Function



  

Betrifft: AW: Ordnerdialog und Dateidialog von: Tino
Geschrieben am: 18.02.2008 08:55:18

Hallo,
könnte es so gehen?

Public Sub Datei()
    Dim strBildDatei As String
    If Trim$(ActiveSheet.Cells(1, 1).Value) = "" Then Exit Sub
    If Dateiwahl(strBildDatei) <> "" Then
        ActiveSheet.Cells(2, 1).Value = strBildDatei
        ActiveSheet.Cells(3, 1).Value = Mid(ActiveSheet.Cells(2, 1), _
                InStrRev(ActiveSheet.Cells(2, 1), "\", -1) + 1)

    Else
        MsgBox "Es wurde keine Datei ausgewaehlt!"
    End If
End Sub



Gruß
Tino


  

Betrifft: AW: Ordnerdialog und Dateidialog von: Dirk
Geschrieben am: 18.02.2008 15:36:29

Es funktioniert!!!
Vielen Dank Tino!

LG
Dirk


 

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