jim84 Geschrieben 4. August 2009 Teilen Geschrieben 4. August 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 4. August 2009 Teilen Geschrieben 4. August 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jim84 Geschrieben 4. August 2009 Autor Teilen Geschrieben 4. August 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
getCppKenntnisse() Geschrieben 6. August 2009 Teilen Geschrieben 6. August 2009 (bearbeitet) 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 6. August 2009 von getCppKenntnisse() Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PromiseYou Geschrieben 6. August 2009 Teilen Geschrieben 6. August 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jim84 Geschrieben 12. August 2009 Autor Teilen Geschrieben 12. August 2009 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;) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.