Ordnerdialog und Dateidialog
17.02.2008 23:44:24
Dirk
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