Das geht doch bestimmt Besser zu Lösen !!!!

  • Hallo Leute

    Ich habe 5 Ordner mit jeweils 40 Excel Dateien

    Ich lese aus einer txt Datei die ersten 2 Stellen aus

    diese Zahlen sagen mir dann welche Exel Datei ich öffnen muß

    aber bei 5 Ordner a 40 ExcelDateien da kommt eine Menge an Zeilen zum schreiben zusammen

    Hat jemand eine Idee wie man das anderes/besser/kürzeren Code lösen könnte?

  • Die Zeile ersetzt auch nur Zeile 20-28.

    Schau dir mal an, ob der String richtig zusammengebaut wird. Z.B. mit Consolewrite($sExcelfile & @CRLF) (nach meiner oben geposteten Zeile) und dann mit F5 starten.

    Ist das oben dein ganzes Skript? Ich hoffe nicht.

    Edit: Global $oExcel = _Excel_Open() wird natürlich vor meiner Zeile auch benötigt, also im Ganzen wenn ich deinen Code von oben zu Grunde lege (und etwas optimiere):

    Einmal editiert, zuletzt von Moombas (8. Juni 2023 um 10:49)

  • C:\Users\RS\Ordner1\1_33.xlsb

    das ist das Ergebnis

    Komischerweise zeigtt er einen Ordner1 an

    Er öffnet auch das Excel aber nicht die Arbeitsmappe und stürzt gleich ab

  • Was meinst du mit "Komischerweise zeigtt er einen Ordner1 an"?

    In deinem obigen Code steht das doch genau so drin ($sExcelfile = "C:\Users\RS\Ordner1\1_33.xlsb") oder verstehe ich dich da falsch?

    Edit: Ich habe das Script eben mal getestet (leicht geänderte Pfadangaben etc. wegen sample files) und bei mir geht es:

    Einmal editiert, zuletzt von Moombas (8. Juni 2023 um 11:03)

  • Dein Script passt auch

    aber aus irgendeinem Grund macht das Excel die Arbeitsmappe nicht auf

    Excel beendet sich sofort


    das steht in der Console

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\RS\Desktop\test44.au3"

    C:\Users\RS\Desktop\Ordner11\1_33.xlsb

    >Exit code: 0 Time: 0.7167

  • Genau das Meine ich Ja

    der Code ist o.k aber die Console sagt Ordner 11

    das ist doch seltsam

  • ok hab ich gemacht

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\RS\Desktop\test44.au3"

    C:\Users\RS\Desktop\Ordner\_.xlsb

    >Exit code: 0 Time: 0.6964

    das ist das Ergebnis

    so nochmal mein Schrott Script getestet und da öffnet Excel die Arbeitsmappe

    ohne sich gleich wieder zu schließen

  • Das erste Ergebnis deines Posts = txt Datei konnte er nicht lesen / finden = Variablen leer. Soltest du ggf. eine Prüfung einbauen und mit einer Fehlermeldung quittieren falls das passiert.

    Ich gehe aber davon aus, das es jetzt funktioniert oder habe ich deinen letzten Absatz falsch verstanden?

  • Ja hast du falsch verstanden ich meinte mein Schrott Script funktioniert ohne Absturz

    Aber bei deinen Script öffnet er das Excel um gleich wieder abzustürzen

    k.a Warum

    Code
    $sExcelfile = "C:\Users\RS\Ordner" & $Line1 & "\" & $Line1 & "_" & $Line2 & ".xlsb"

    stimmt das denn das die $Line1...2x da drinnen steht???

    du kennst dich da bessser aus

  • Wenn deine Ordnerstruktur so ist, wie im 1. Beispiel angegeben, ja:

    $sExcelfile = "C:\Users\RS\Ordner1\1_33.xlsb" ;Deins
    $sExcelfile = "C:\Users\RS\Ordner" & $Line1 & "\" & $Line1 & "_" & $Line2 & ".xlsb" ;Meins


    $sExcelfile = "C:\Users\RS\Ordner4\4_41.xlsb" ;Deins

    $sExcelfile = "C:\Users\RS\Ordner" & $Line1 & "\" & $Line1 & "_" & $Line2 & ".xlsb" ;Meins

    Beachte, das bei mir nur Ordner und NICHT Ordner1 bzw. Ordner4 steht! Die 1 bzw. 4 kommt von $Line1

    Einmal editiert, zuletzt von Moombas (8. Juni 2023 um 11:59)

  • Ja ich habe 4 Ordner am Desktop

    Ordner 1

    Ordner 2

    Ordner 3

    Ordner 4

    ich könnte aber auch alle Excel Dateien in einen verschieben wenn das besser wäre


    Meine Excel Arbeitsmappe gehen von

    1_1 bis 1_50

    2_1 bis 2_50

    3_1 bis 3_50

    4_1 bis 4_50

    er öffnet mir die Excel Arbeitsmappen nicht

    die Console Ausgabe

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\RS\Desktop\test44.au3"

    C:\Users\RS\Desktop\Ordner\_.xlsb

    >Exit code: 0 Time: 0.4118


    wie wenn er die xslb nicht finden würde

  • Hi Moombas

    hab den Fehler gefunden

    Global $File = "C:\Users\RS\Desktop\t\z.txt"

    der Pfad war nicht angegeben wo die txt genau liegt

    Vielen Dank für dein Unterstützung und vorallem Geduld

    Danke nochmal