Excel, Mehrere Dateinamen einlesen und auflisten

  • Guten Morgen zusammen,

    ich habe ein kleines Problem. Und zwar möchte ich für die Arbeit ein Tool schreiben, was mir von den markierten Dateien im Explorerfenster die Dateinamen in eine Excelliste schreibt. Für jede Datei soll eine neue Zeile + Spalte angelegt werden. Außerdem soll es von den Benennungen die ersten 7 Zeichen löschen. Soweit funktioniert mein Tool auch. Aber nur für eine Datei :-D. Wenn ich mehrere auswähle kommt Quatsch bei raus.

    Probier´s mal aus dann wisst Ihr worauf ich hinaus will.
    Ich weiss dass ich noch eine Funktion einbauen muss, also so eine Art Zähler. Hab aber leider absolut keine Idee wie ich das realisieren soll.

    Hier mal der Code:


    Variablen sind in einer extra Datei deklariert.

    Wär nett wenn Ihr mir da helfen könntet. Das würde mir eine Menge Arbeit ersparen. :)

    Danke im Voraus.

    LG Mikki

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Dein Script ist so nicht lauffähig, da fehlen etliche Variablen die nicht deklariert sind.

    FileOpenDialog returnt im folgenden Muster: Pfad zum Ordner|Datei1|Datei2.
    Jetzt brauchst du nur noch StringSplit zu verwenden mit dem Delimeter "|". Dann hast du auch schon ein Array mit [0] Pfad zum Ordner [1] Datei1 usw.
    Nun noch eine For-Schleife dazu und du kannst das Array in die Exceltabelle schreiben.

  • Hallo alpines,

    sorry so ganz verstehe ich das nicht. Kannst mir das anhand eines Beispiels zeigen?

    Ja ich weiss dass die Deklarationen fehlen, da ich sie, wie oben schon geschrieben, in einer extra Datei habe. Aber ich pack´ sie dir noch mal hier rein.

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Hier mal ein Beispiel wie man das machen kann (musst du logischerweise auf deins anpassen und Errorhandling einbauen):

    Erstell dir einen neuen Ordner mit mehreren Textdateien mit dem Schema "Plannummer Benennung.txt".

  • Hallo alpines,

    danke für das Beispiel. Ich schau mal wie ich das auf mein Tool anwenden kann ansonsten melde ich mich noch mal :)

    LG Mikki

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Hallo,

    ich bekomme es nicht auf die Excel Tabelle übertragen. Das einzige was er bei mir macht, ist, dass er zur letzten Nummer springt und diese dann anzeigt.

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Ja schon. Zumindest ist es die einzige Funktion die ich kenne, mit der ich Daten in die Zellen schreiben kann.

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Hallo @Mikki,
    ich habe es mal ausprobiert. Dir hat natürlich noch komplett die Schleife gefehlt - das weißt du ja aber selbst. Hattest du außerdem Probleme mit der Ausgabe von FileOpenDialog? Ich meine vielleicht hast du es in der Hilfe übersehen und dir die Ausgabe von mehreren Dateien nie angeschaut?

    Zitat von Success von FileOpenDialog

    the full path of the file(s) chosen. Results for multiple selections are "Directory|file1|file2|...".

    Das heißt, deine gewählte Methode funktioniert nicht immer, da die Datengrundlage jeweils eine andere ist. Ich habe mal deine Daten_uebernehmen() etwas abgewandelt. In den ersten Zeilen gibt es eine MsgBox und ein _ArraySearch. Schau dir beides mit einer Datei und dann mit mehreren Dateien an. Da sollte es klar werden. Gut ist das wohl nicht, was ich da geändert habe, aber ich hoffe mal, es ist für dich verständlich.

    Spoiler anzeigen

    Grüße autoiter

  • Hallo @autoiter

    vieeeelen lieben Dank dafür. Genau das was ich gesucht habe.

    Genau, ich hatte das Problem, dass ich die Schleife nicht hinbekommen habe.

    Ich habe in Zeile 7 die MsgBox entfernt und in Zeile 9 _ArrayDisplay entfernt.

    So schreibt er mir die Daten ohne Umweg direkt in die Exceltabelle.

    Danke schön :)

    LG Mikki

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.

  • Kein Thema @Mikki,

    Ich habe in Zeile 7 die MsgBox entfernt und in Zeile 9 _ArrayDisplay entfernt.

    Gut so! Die beiden Zeilen sollten dich ja auch nicht dauerhaft gängeln, sondern den Unterschied zwischen einem und mehreren Elementen aufzeigen ;)

    Grüße autoiter