pinablubb Geschrieben 12. Februar 2008 Geschrieben 12. Februar 2008 Hallo, benötige mal bitte eure hilfe, tüftel schon die ganze zeit rum. So ich will mir in Excel eine Listbox erstellen, die mir von den vorhandenen Dateinamen eines Pfades eine Liste erstellt, und ich die Datei dann auch öffnen kann. Jetzt habe ich aber das Problem, dass ich das irgendwie nicht gebacken bekomme. Der pfadname muss zunächst über eine infobox eingelesen werden. ich habe es auc hschon so weit geschafft, dass ich die Dateien über eine MsgBox ausgeben lasse... aber mit der Listbox kapier ich das nicht. Bitte Bitte helft mir, ist wirklich dringend, muss das ding bis morgen fertig haben... Zitieren
Amstelchen Geschrieben 12. Februar 2008 Geschrieben 12. Februar 2008 poste doch bitte mal die relevanten codezeilen, alles andere ist herumgerate. s'Amstel Zitieren
pinablubb Geschrieben 12. Februar 2008 Autor Geschrieben 12. Februar 2008 Hallo, danke für die Antwort, die Codezeilen habe ich hier: Pfad= InputBox("Bitte geben Sie den Pfad an!!") Set fs = Application.FileSearch With fs .LookIn = Pfad .FileName = "Hallo*.*" If .Execute(SortBy:=msoSortbyFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." For i = 1 To .FoundFiles.Count MsgBox .FoundFiles(i) Next i Else MsgBox "There were no files found." End If End With so funktioniert es, also es zählt mir alle dateien mit hallo im dateinamen, die in dem Pfad sind... und gibt sie mri auch in der msg box aus... nur irgendwie hab ich keinen blassen schimmer wie ich des mit der listbox mache... ich hab schon die ganze hilfe im excel gewühlt, aber ich finde da nichts. ich habs auch mit .additem versucht usw.. aber da bringt mir der ständig fehlermeldungen... den anderen text hab ich leider schon wieder gelöscht, weil ichs nicht gebacken bekommen habe... ich wollte das machen, da ich eigentlich ein eingabefeld hab: Sub Dateiaufruf() 'Eingabefenster zum Aufrufen der Datei Wert = InputBox("Bitte geben Sie den Dateinamen incl. Pfad an!!", "Dateiaufruf", XSTD) ergebnis = Dir(Wert) End Sub und im sub drüber hab ich das hier stehen Do While ergebnis = "" Application.Run Macro:="Dateiaufruf" Loop so jetzt hab ich das problem, dass ich solang in ner endlosschleife hängt, bis er eine richtige datei eingibt.. es wäre gut, wenn er bei abbrechen dann komplett abbricht, aber sobald ich abbrechen klicke hänge ich wieder in der endlosschleife.. ich kann das nur beenden, wenn die richtige datei angegeben wrid.. nur irgendwie weiß ich net wie ich das umsetzten kann... ich benötige ne hilfestellung für einevon beiden methoden... wär echt supi :-) lg dany Zitieren
pinablubb Geschrieben 12. Februar 2008 Autor Geschrieben 12. Februar 2008 mir wäre also schon geholfen, wenn ich aus der schleife durch den button abbruch wieder rauskomm.. des is eigentlich des einzige was ich will.. aber ich schaffs net der springt immer wieder rein.. dersoll dann aber wirklich nur rausgehn, wenn ich auf abbruch klicken.. sonst immer weiter nach dem dateinamen fragen Zitieren
russkij Geschrieben 12. Februar 2008 Geschrieben 12. Februar 2008 mir wäre also schon geholfen, wenn ich aus der schleife durch den button abbruch wieder rauskomm.. des is eigentlich des einzige was ich will.. aber ich schaffs net der springt immer wieder rein.. dersoll dann aber wirklich nur rausgehn, wenn ich auf abbruch klicken.. sonst immer weiter nach dem dateinamen fragen das Problem ist, dass die inputbox dir nicht explizit sagen kann ober der anwender ok oder abbrechen geklickt hat. laut doku kommt bei "abbrechen" ein leerstring zurück. der kommt aber auch, wenn der anwender auf ok klickt, in der inputbox aber nichts drin steht. möglichkeit 1: der inputbox ein default text mitgeben, wenn er zurück kommt, hat anwender ok geklickt, wenn aber leerstring kommt, hat anwender abbrechen geklickt. ist aber natürlich nicht sicher, da der anwender den text erst löschen kann und dann abbrechen klickt möglichkeit 2: eigenes dialog statt der inputbox erstellen, dann kannst du alles abbrüfen möglichkeit3: benütze ein FileDialog : Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFolderPicker) fd.Show gruss alex Zitieren
pinablubb Geschrieben 12. Februar 2008 Autor Geschrieben 12. Februar 2008 ok, also in der inputbox lass ich schon einen dateinamen anzeigen.. den errechne ich aus dem tag, der stunde und dem monat.. da ich damit ein file bearbeiten will, dass täglich alle 4 stunden kommt.. und mir zeigts dann automatisch die datei an, in der inputbox, die akutell wäre... wie kann ich das mit der dialogbox realisieren? ich sitz gerade so dermaßen auf der leitung.. hab vorher noch nie was mit vba gemacht und muss das ding jetzt bis morgen fertig haben.. bin schon sehr weit, das ist das einzige was noch nicht so funktioniert wie ich mir des vorstell Zitieren
pinablubb Geschrieben 12. Februar 2008 Autor Geschrieben 12. Februar 2008 ok dankeschön... jetz noch eine frage sorry, jetzt kann ich mit dem dialogfenster gerade nur ordner auswählen, aber keine dateien.. wäre supi, wenn ich da dann direkt auf die dateien gehen könnte.. wie funktioniert das? Zitieren
pinablubb Geschrieben 12. Februar 2008 Autor Geschrieben 12. Februar 2008 Vielen Vielen Dank, es funktioniert :-) Zitieren
russkij Geschrieben 12. Februar 2008 Geschrieben 12. Februar 2008 ok, du warst schneller obsolete----------------------------> schau dir den code genauer an Set fd = Application.FileDialog(msoFileDialogFolderPicker) ... ... ... siehtst du was? ... ... ... msoFileDialogFilePicker msoFileDialogFolderPicker :-) tipp: positioniere einen cursor in den text: FileDialog und drück mal F1 ;-) gruss Zitieren
pinablubb Geschrieben 12. Februar 2008 Autor Geschrieben 12. Februar 2008 dankeschön nochmal :-) jetzt hab ich doch noch eine frage.. und zwar wenn ich auf abbrechen klicke beim ausführen, dann kommt mir ein laufzeitfehler.. wie kann ich das noch beheben? irgendiwe so: if Abbrechen (ist die taste da so belegt)?? exit sub?? end if? Zitieren
russkij Geschrieben 12. Februar 2008 Geschrieben 12. Februar 2008 dankeschön nochmal :-) jetzt hab ich doch noch eine frage.. und zwar wenn ich auf abbrechen klicke beim ausführen, dann kommt mir ein laufzeitfehler.. wie kann ich das noch beheben? irgendiwe so: if Abbrechen (ist die taste da so belegt)?? exit sub?? end if? mensch mensch, schaust du auch mal in der hilfe nach? Set fd = Application.FileDialog(msoFileDialogFolderPicker) zahl = fd.Show If zahl = 0 Then Exit Sub 'abbrechen, ok = -1 denke ich beispiel: Zitieren
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.