Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1052to1056
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Neuen Ordner anlegen Inputbox
28.02.2009 13:05:54
Sonnenpeter
Hallo,
ich lege mir über eine Inputbox neue Ordner an.
Leider bekomme ich die Abrechen_Schaltfläche nicht in den Griff.

Sub NeuenOrdnerAnlegen()
Dim strfolder As String
Dim Ordnername As String
Dim Mldg, Titel, Voreinstellung, Wert1
Dim Verzeichnis As String
Dim dlg As Object
On Error Resume Next
Ordnername = Sheets("Daten").Range("C3").Value
Mldg = "Bitte die Ordnername benennen"
Titel = "Neuen Ordner anlegen...."
Voreinstellung = Ordnername
Ordnername = Application.InputBox(Mldg, Titel, Voreinstellung)
If Ordnername = "" Then Exit Sub
If Ordnername = False Then
Exit Sub
Else
Ordnername = Replace(Ordnername, "/", "_")
Ordnername = Replace(Ordnername, "*", "_")
Ordnername = Replace(Ordnername, "?", "_")
Verzeichnis = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\") - 1) _
& Application.PathSeparator & "Projekte"
End If
'PrüfeObVerzeichnisVorhanden
strfolder = Verzeichnis & Application.PathSeparator & Ordnername
If Dir(strfolder, vbDirectory)  "" Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Verzeichnis & Application.PathSeparator
.Title = "Der Ordnername ist bereits vorhanden der Vorgang wird abgebrochen ... "
.Show
End With
Exit Sub
Else
'lege Unterordner an
MkDir strfolder
End If
End Sub


Wenn der Ordnername "" ist soll abgebrochen werden.
Wenn die Schaltfläche Abbrechen gewählt wird soll abgebrochen werden.
If Ordnername = False Then geht aber immer auf Exit Sub, egal ob der Ordnername belegt oder "" ist.
Was ist zu tun?
Gruß Sonnenpeter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neuen Ordner anlegen Inputbox
28.02.2009 13:14:18
Jan
Hi,
die Variable Ordnername muss vom Typ Variant sein.
mfg Jan
AW: Neuen Ordner anlegen Inputbox
28.02.2009 13:22:31
Sonnenpeter
Servus Jan,
dass war es wohl, funzt jetzt.
Danke, SP
Variant-Variablen sollte man, wenn möglich
28.02.2009 15:34:35
Daniel
vermeiden.
Interessanterweise funktioniert es auch so, wenn Ordnername ein String ist:
(wobei ich nicht weiss, was passiert, wenn der Code mal auf einer andern Ländervariante läuft)

Ordnername = Application.InputBox(Mldg, Titel, Voreinstellung)
If Ordnername = "" Then Exit Sub
If Ordnername = "Falsch"  Then
...


noch einfacher ist es, die andere Variante der Inputbox zu verwenden (ohne Applicationi davor), dann bleibt der String beim Abbrechen einfach leer:


Ordnername = InputBox(Mldg, Titel, Voreinstellung)
If Ordnername = "" Then Exit Sub
Ordnername = Replace(Ordnername, "/", "_")


Interessanterweise gibt es zwei Varianten der Inputbox, die etwas unterschiedlich reagieren.
btw ON ERROR RESUME NEXT gehört nie niemals nicht einfach so pauschal über den Code drübergeschrieben.
sonst darf man sich nicht wundern, wenn das Makro unerwünschte Ergebnisse liefert und man die Ursache nicht findet.
Gruß, Daniel

Anzeige
AW: Variant-Variablen sollte man, wenn möglich
28.02.2009 15:58:11
Sonnenpeter
Servus Jan,
Danke für die Hinweise.
Gruß SP

34 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige