Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ordner inhalt in Listbox anzeigen

Empfohlene Antworten

Veröffentlicht

Hallo,

ich versuche gerade in einer listbox ein kompletten ordner inhalt anzuzeigen.

sprich das in der Listbox alle datein namen stehen die in ein bestimmten ordner sind.

noch besser wär wenn er nur nach bildern sucht und man diese über ein scrallbalken durchblättern könnte


   Dim sTxt As String, sText As String, sPath As String


   sPath = ActiveWorkbook.Path & "\KFZ\" & ComboBox1 & "\" & ComboBox2 & "\" & ComboBox3 & "\" & ComboBox3 & ".txt"

   If Dir(sPath) = "" Then

      Beep

      MsgBox "Leider keine " & ComboBox3 & " Für " & ComboBox1 & " " & ComboBox2 & " verfügbar"

      Exit Sub

   End If

   Close

   Open sPath For Input As #1

   Do Until EOF(1)

      Line Input #1, sTxt

      sText = sText & sTxt & vbLf

   Loop

   Close

   sText = Left(sText, Len(sText) - 1)

   TextBox1 = sText


Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\KFZ\" & ComboBox1 & "\" & ComboBox2 & "\" & ComboBox3 & "\" & ComboBox3 & ".jpg")

soweit bin ich jetz

jetz sucht er aber nur eine bestimmte datei.. würde aber gern alle im ordner sehen oder mit ein balken durch blättern können

hat da einer eine idee??

danke schon mal

was du mit obigem code machst: du versuchst ein verzeichnis, das via Dir(sPath) zurückgegeben wid, mittels "Open sPath" fälschlicherweise als datei zu öffnen.

du musst stattdessen beim ersten mal Dir(sPath) aufrufen, bekommst die erste datei im verzeichnis, und musst dann mit einem schleifenkonstrukt und fortlaufenden aufrufen von Dir() weitere dateien zurückgeben. diese kannst du dann verarbeiten, wie du willst.

s'Amstel

jop er soll ja alle *.txt datein öffnen und den inhalt in eine listbox schreiben.. gleichzeitig zeig er ein bild

ich hab eine textdatei und eine jpg datei im selben ordner und unter selben namen gespeichert.

so das er halt einmal das bild zeig und dazu in einer box die beschreibung zeig (also die text datei öffnet und in eine box ausgibt)

soll so eine art zubehör-shop für kfz-teile werden.

man soll halt ein bild vom teil haben und die beschreibung dazu.

und über ein scrollbalken halt alle hersteller durch klicken können.

geht bestimmt einfacher mit einer datenbank.. aber das projekt soll halt 100% excel/vba sein.

der code öffnet aber leider nur eine eizige datei im ordner.

hätte irgendwie gern das man alle datein im ordner mit ein balken durch suchen kann

hi jim84,

wenn ich dich richtig verstanden habe sind alle möglichen pfade aus den comboboxen und eben ActiveWorkbook.Path zusammengesetzt.

also kannst du ja in 3 ineinanderverschachtelten for schleifen alle elemente der comboboxen durchgehen:


For i = 0 to anzahlDerElemente

     For j = 0 to anzahlDerElemente

          For k = 0 to anzahlDerElemente

               sPath = ActiveWorkbook.Path & UserForm1.ComboBox1.Column(0, i) _

               & UserForm1.ComboBox2.Column(0, j) _

               & UserForm1.ComboBox3.Column(0, k)


               'Bilder und sonstige Sachen öffnen

          Next

     Next

Next

Hoffe das hilft dir, wobei mich persönlich mal die Lösung von Amstelchen interessieren würde, da ich selber auch gerade mit dem Problem zutun habe, ich meine wie du schon sagst liefert ja Dir() die erste Datei im Verzeichnis zurück, aber nachdem Dir() das getan hat, wie soll man dann weiter verfahren, irgendwie brauch man dann ja die zweite, kann man das Dir() noch mit optionen versehen oder dachtest du da eher an etwas was die reihenfolge der dateien in dem ordner ändert, wenn ja was?

sagmal jim84, baust du dir da ein kleines kaufhaus zusammen? ;)

gestern die textilabteilung, heute ne kfz werkstatt^^

mfg

Bearbeitet von getCppKenntnisse()

Bin grad nicht auf der Arbeit, und kann es deshalb nicht testen, sollte aber gehen.

Zum einfachen durchblätern kannst auf deinem userform zwei button setzen, einen für "vor" und entsprechend einen für "zurück".

Nun kannst du die ereignisse der beiden button nutzen, um deine daten durch zu blättern.

Damit dies auch wirklich funktioniert mußt du zuvor jedoch alle dateien in ein oder zwei array('s) wegschreiben. Das machst du mit einer Schleife.

etwa so


file_name = Dir$(strDrive & "\*.*", vbDirectory)

Do While (Len(file_name) > 0)

    file_name = Dir$()

Loop

Nach dem alle datein in den arrays verstaut sind kannst ja mit den Itemnumbern durchblättern.

in der schleife kann man dann noch zusätzlich die datei auswerten (ist es eine textdatei oder bild datei, oder gehört sie vllt. garnicht zum katalog)

das weitere verfahren kann sich in vielen richtungen gestalten ^^ ... aber das wesentliche solltes du nun ja haben ;)

sagmal jim84, baust du dir da ein kleines kaufhaus zusammen? ;)

gestern die textilabteilung, heute ne kfz werkstatt^^

mfg

nee soll halt eine maske sein die man für alles nutzen kann.

hab das jetz eigentlich so weit fertig.

hab mir halt ein modull genommen und da eine funkion eingebaut

die funktion schaut einfach in ein ordner und speichert zwei "array's " einmal mit alles *.txt datein , einmal alle *.jpg datein

so wenn man jetz irgend was mit sein comboboxen aussucht gibt man so den "pfad" an..

der wird an die funktion gegeben

die gibt dann wieder den inhalt aus

und jetz kann ich mit ein scrollbalken die arrays durchblättern

seh auf einer seite die text datein (infos über das produkt) und auf der anderen seite ein bild (produkt bild)

klingt simpel --- war es aber für mich nich;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.