Anzeige
Archiv - Navigation
1720to1724
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
Inhaltsverzeichnis

Dir-Funktion mit Variable

Dir-Funktion mit Variable
07.11.2019 13:20:52
Nina
Hallo,
ich habe ein Problem mit der "Dir"-Funktion.
In meinem Programm kann der Benutzter bisher über ein UserFormular eine Datei auswählen (funktioniert gut), der Pfad wird zur Überprüfung nochmal in einem Textfeld angezeigt.
Den ausgwählten Dateipfad speichere ich in der Variablen "strOrdner", also z.B
"C:\User\Desktop\Datei.xlsx\"
Jetzt bräuchte ich für die nächsten Schritte nicht den ganzen Pfad, sondern nur den Dateinamen "Datei.xlsx".
Die "Dir"-Funktion erzeugt nur den Laufzeitfehler ("52 - Dateiname- oder nummer falsch").
Mit VBA beschäftige ich mich leider erst seit ein paar Wochen, deswegen entschuldigie ich mich schon einmal im vorraus, falls diese Frage schon 100 mal beantowrtet wurde, aber ich habe schon so viele Möglichkeiten aus dem Internet versucht und nichts hat funktioniert.
Vielleicht kann mir hier ja jemand helfen :-)
Vielen Dank schonmal im vorraus!
Gruß
Nina
Hier mein Code

Private Sub cmdDatei_Click()
Dim strOrdner As String
Dim Dateiname As String
Dim Datei As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
.AllowMultiSelect = False
.Title = "Parameterdatenbank"
.ButtonName = "Auswahl..."
.Filters.Add "Excel-Datein", "*.xls; *.xlsx", 1
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strOrdner = .SelectedItems(1)
If Right(strOrdner, 1)  "\" Then strOrdner = strOrdner & "\"
Else
strOrdner = ""
End If
txtDatei = strOrdner
Dateiname = VBA.Dir(strOrdner)     'Hier wird immer ein Fehler gemeldet. Nur "Dir( _
strOrdner)" funktioerniert erst recht nicht...
End With
MsgBox "Soll """ & Dateiname & """ genommen werden?"
If strOrdner = "" Then MsgBox "No Folder selected!", vbExclamation, "Warning"
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dir-Funktion mit Variable
07.11.2019 13:42:17
Werner
Hallo Nina,
das kommt davon, weil du am Ende von strOrdner einen Backslash schreibst. Damit ist das dann aber keine Datei mehr, sondern ein Ordner und den gibt es ja nicht.
Lass das mit dem Backslash doch einfach weg.
Private Sub cmdDatei_Click()
Dim strOrdner As String
Dim Dateiname As String
Dim Datei As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
.AllowMultiSelect = False
.Title = "Parameterdatenbank"
.ButtonName = "Auswahl..."
.Filters.Add "Excel-Datein", "*.xls; *.xlsx", 1
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strOrdner = .SelectedItems(1)
Else
Exit Sub
End If
Dateiname = VBA.Dir(strOrdner)
End With
MsgBox "Soll """ & Dateiname & """ genommen werden?"
End Sub
Gruß Werner
Anzeige
AW: Dir-Funktion mit Variable
07.11.2019 13:53:55
Nina
Hallo Werner,
oh man, vielen lieben Dank! Das funktioniert perfekt!
Du glaubst gar nicht, wie sehr du mir damit geholfen hast! Den halben Tag habe ich meinen Fehler gesucht und du findest ihn auf anhieb!
Vielen Dank und bis zu meinem nächsten Problem (wird sicher nicht lang dauern xD)
Grüße aus Nürnberg
Nina
Gerne u. Danke für die Rückmeldung und
07.11.2019 14:14:25
Werner
Hallo Nina,
...bei Franz hättest du dich durchaus auch bedanken können, er hat dir das geleiche geschrieben.
Gruß Werner
AW: Gerne u. Danke für die Rückmeldung und
07.11.2019 14:32:25
Nina
Ich komme noch nicht so ganz mit der Formus-Übersicht klar, dewegen habe ich deins als erstes gesehen,
aber natürlich gilt mein Dank auch Franz :-)
Anzeige
Forumsnavigation....
07.11.2019 15:11:55
EtoPHG
Hallo Nina,
Du klickst auf den Link des Beitrags (z.B. von fcs),
liest den Beitrag und
beantwortest ihn im Eingabefenster unter dem Beitrag.
Die Übersicht wird automatisch erstellt und dein Beitrag erfolgt dann hierarchisch unter dem beantworteten.
Gruess Hansueli
AW: Dir-Funktion mit Variable
07.11.2019 13:46:53
fcs
Hallo Nina,
in dem Dialogfenster wählst du eine Datei aus - keinen Ordner.
Deshalb darfst du keinen "\" an den Dateianmen anfügen, damit Dir funktioniert.
LG
Franz
Private Sub cmdDatei_Click()
Dim strOrdner As String
Dim Dateiname As String
Dim Datei As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
.AllowMultiSelect = False
.Title = "Parameterdatenbank"
.ButtonName = "Auswahl..."
.Filters.Add "Excel-Datein", "*.xls; *.xlsx", 1
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strOrdner = .SelectedItems(1)
'            If Right(strOrdner, 1)  "\" Then strOrdner = strOrdner & "\" - Diese Zeile muss  _
raus
Else
strOrdner = ""
End If
End With
If strOrdner = "" Then
MsgBox "No File selected!", vbExclamation, "Warning"
Exit Sub
End If
Dateiname = VBA.Dir(strOrdner)
If MsgBox("Soll """ & Dateiname & """ genommen werden?", vbYesNo, "Parameterdatenbank") _
= vbNo Then Exit Sub
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige