Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
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

Openfilename: Nur bestimmte Ordner anzei

Openfilename: Nur bestimmte Ordner anzei
09.10.2020 08:48:01
Stefan
Guten Morgen zusammen,
in Spalte A meiner Datei stehen fortlaufende Auftragsnummern (z.B. 785-20). Mit einem Doppelklick in Spalte 6 wird ein Openfilename-Dialog geöffnet und es werden mir alle Dateien angezeigt, die mit der aktuelle Auftragsnummer beginnen. Zusätzlich werden mir aber auch alle Dateiordner mit angezeigt, die sich in dem aktuellen Pfad befinden. Ich möchte den Dialog nun so erweitern, dass nur die Ordner (und Dateien) angezeigt werden, die (in diesem Beispiel) mit 785-20 beginnen.
Kann mir da bitte jemand behilflich sein ? Nachfolgend der relevante Teil des Codes (den ich leider nicht wirklich verstehe)...
Vielen Dank vorab.
Gruß Stefan
Dim Filter As String
Dim OFName As OPENFILENAME
Filter = [AR1].Value 'Zwischenspeichern des durch Doppelklick ausgewählten Dateinamen Blattname = ActiveSheet.Name
OFName.lStructSize = Len(OFName)
OFName.lpstrFilter = Filter & "*.*" + Chr$(0) + Filter & "*.*" + Chr$(0)
OFName.lpstrFile = Space$(254) 'Pfad mit Dateiname
OFName.nMaxFile = 255
OFName.lpstrFileTitle = Space$(254) 'Nur der Dateiname
OFName.nMaxFileTitle = 255
OFName.lpstrInitialDir = "E:\Beschaffung\Archiv\" & Blattname & "\Aufträge\"
OFName.lpstrTitle = "Bitte wählen Sie eine Datei aus“

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

Betreff
Datum
Anwender
Anzeige
AW: Openfilename: Nur bestimmte Ordner anzei
12.10.2020 08:59:33
Stefan
Guten Morgen,
ich weiß gar nicht, wie ich mich für soviel Unterstützung bedanken soll...
Wie soll mir der Link jetzt weiterhelfen ?
Viele Grüße
Stefan
AW: Openfilename: Nur bestimmte Ordner anzei
12.10.2020 11:28:16
Yal
Hallo Stefan,
sorry, ich hatte sehr wenig Zeit, sah aber dass niemand sich für dein Anliegen interessierte, also habe ich versucht auf die Schnelle eine Rettungsring zu werfen.
"Version: vor 2013"? Der von Dir aufgeführte "OPENFILENAME" ist mir nicht bekannt und im Internet gibt es nicht viel darüber. Da wird sich niemand in älteren Version einarbeiten.
Der Link führt einen Beispiel vor. Erste Schritt wäre, dieses Beispiel zu probieren. Wenn es funktioniert, muss Du nicht eine neuere Excel Version kaufen (laut Werbung ab 15€?)
In dem Beispiel sind auch einige Elemente, die Einzigartig sind, wie "msoFileDialogFilePicker". Sowas ist immer ein gute Startpunkt um weitere Internet-Forschung zu starten.
Viel Erfolg
Yal
Anzeige
AW: Openfilename: Nur bestimmte Ordner anzei
12.10.2020 15:12:32
Stefan
Hi Yal,
OK, vielen Dank. Leider hilft mir das auch nicht weiter.
Alles Gute.
Gruß Stefan
AW: Openfilename: Nur bestimmte Ordner anzei
12.10.2020 16:55:45
Yal
Na gut.
Probiere damit:
Sub Datei_oeffnen()
Dim FD As FileDialog
Dim D
Dim BlattName As String
BlattName = [AR1].Value
Set FD = Application.FileDialog(msoFileDialogFilePicker)
FD.Filters.Add "Alle Dateien", "*.*"
FD.InitialFileName = "C:\temp\" & BlattName & "*.*"
If FD.Show = True Then
For Each D In FD.SelectedItems
Debug.Print D
Next
End If
End Sub
Debug.print gibt den Pfad der ausgewählten Datei(en) in dem Direktfenster aus. Das musst Du noch zu deinen Zweck rumbiegen.
Viel Erfolg
Yal
Anzeige
AW: Openfilename: Nur bestimmte Ordner anzei
12.10.2020 17:49:35
volti
Hallo Stefan,
die Einschränkung der angezeigten Ordner ist hier m.W. trotz der vielen zur Verfügung stehenden Parameter leider nicht möglich.
Leider ist Dein Code ja unvollständig, ich vermute aber mal anhand der TYPE-Struktur, dass Du die API-Function GetOpenfilename verwendest und nicht die Application-Version?!
Die anzuzeigenden Dateien kannst Du ganz einfach über den Filter einschränken. Deinem Text könnte man entnehmen, dass dies schon passiert, lt. Code werden jedoch alle Dateien angezeigt bzw. die Angabe ist fehlerhaft. Leider sieht man nicht, was da in $AR$1 drin steht.
Hier ein Beispiel für den Filter (vielleicht hilft es ja):
OFName.lpstrFilter = "nur 782er Dateien & vbNullChar & "782.*" & vbNullChar & vbNullChar
Hierbei ist immer abwechselnd NullChar-getrennt der (beliebige) Filtertext und der eigentliche Filter anzugeben und am Ende zwei NullChars.
viele Grüße
Karl-Heinz
Anzeige

132 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige