AW: Fehlermeldung mit Inputbox abfangen
21.10.2009 05:38:40
fcs
Hallo Wolfgang,
das Startverzeichnis ist das Verzeichnis, mit dem der Dialog für die Verzeichnisauswahl beginnen soll.
Wenn dieser Dialog abgeschlossen ist, dann steht in der Variablen strPath der Name des ausgewählten Verzeichnisses wo wenn alles reibungslos läuft ""C:\Dokumente und Einstellungen\" & strUser & "\Lokale Einstellungen\Temp\TempKD" drin steht.
Alle weiteren Aktionen, die du in deinem Code mit dem Verzeichnis vorhast, sind ja bis jetzt hier nicht bekannt.
In ähnlicher Weise, wie hier den Dialog zur Auswahl eines Verzeichnisses, kann man auch einen Dialog zur Dateiauswahl anzeigen.
Gruß
Franz
Sub aaatest()
' Dein Teil für den UserNamen
Dim strUser As String, strPath As String, strhelp As String
Dim fName As Variant, intI As Long
strUser = Environ("Username")
strUser = Trim$(Replace(strUser, ".GEST", ""))
' Zusammenbauen des Pfades aus Vorgabepfad und UserName
strPath = "C:\Dokumente und Einstellungen\" & strUser & "\Lokale Einstellungen\Temp\TempKD"
'strPath = "C:\Users\" & strUser & "\AppData\Local\Temp"
If Dir(strPath, vbDirectory) = "" Then
'MsgBox "Das angegebene Verzeichnis existiert nicht!", vbCritical
VBA.Beep
strPath = "C:\Dokumente und Einstellungen\" & strUser 'Startverzeichnis für Dialog
'strPath = "C:\Users\" & strUser 'Startverzeichnis für Dialog
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Das angegebene Verzeichnis existiert nicht! - Bitte Verzeichnis wählen"
.InitialFileName = strPath
If .Show = 0 Then
Exit Sub 'Verzeichnisauswahl abgebrochen
Else
strPath = .SelectedItems(1)
MsgBox "Gewähltes Verzeichnis:" & vbLf & vbLf & strPath 'Testzeile
End If
End With
End If
'Datei-Auswahl
fName = strPath & Application.PathSeparator & "*.*" 'Start Dateiname
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte gewünschte Datei(en) wählen - Mehrfachauswahl ist möglich"
.InitialFileName = fName
.AllowMultiSelect = True
.ButtonName = "Auswählen"
If .Show = 0 Then
Exit Sub 'Dateiauswahl abgebrochen
Else
For intI = 1 To .SelectedItems.Count
fName = .SelectedItems(1)
MsgBox "Gewählte Datei Nr. " & intI & " :" & vbLf & vbLf & fName 'Testzeile
'ab hier dann den/die Filenamen ggf. weiter verarbeiten
Next
End If
End With
End Sub