Maximale Zeichenzahl Global $aRanges =...

  • Hi Leute,

    ich lasse ein Skript über Excel laufen. Leider gibt AutoIT ab einer gewissen Anzahl, so ca. 250 Zeichen; nur noch 0 ein anstatt die Zeichen. Also der Befehl ist bspw. send($_readV); und wenn $_readV mehr als 249 Zeichen hat, gibt AuotIt 0 ein. Kann auch sein das es 300 oder 350 waren.
    Kennt jemand eine Lösung dafür, wie ich es einrichten kann, das AutoIT auch so ca. einen Text mit 500 Zeichen sich merken kann und diesen auch eingeben kann? Aktuell habe ich die Spalten in 2 geteilt, also bspw. wird ein text mit 300 Zeichen in 2 mal 150 zeichen geteilt und jeweils einmal "send".
    Mein Skript soll wohl nicht das Beste sein, wie ich mal in dieser gruppe gehört hatte; das ist aber nicht hier das Problem. Wenn ich ein komplett neues Skript schreiben muss um dieses Problem zu lösen, dann würde ich lieber bei der "Doppelten" Methode bleiben....

    Ich danke euch im vorraus für eure Anwtorten.

    Gruß Bernd

  • Das sieht - hm ... "bizarr" aus ...

    Ich denke wir sollten hier vielleicht noch einmal einen Schritt zurückgehen und nochmal klären was das eigentliche Endziel ist.

    Also welches Problem genau soll mit dem Skript gelöst werden?
    Ausdrücklich noch nicht überlegen WIE es gelöst werden soll - das schauen wir uns an sobald wir das Ziel definiert haben.

  • Tja das sind halt bisschen wenig Infos. Zu wenig als dass ich dir konkret weiterhelfen könnte. Und auch den Quellcode nur im Ausschnitt per Screenshot zu Posten macht dir Sache nicht wirklich einfacher.

    Mir ist nicht klar was dieses monströse Konstrukt in deinem Quellcode darstellen soll und welche Aufgabe es hat. Und wenn ich Upload auf Amazon lese würde ich als erstes an eine API von denen denken und ganz sicher nicht an send. Aber konkrete Infos haben wir ja nicht.

    na gut - keep your secrets

  • Vielleicht helfen diese Screenshots etwas weiter.

    Wie genau die Funktion aussieht ist in diesem Fall erstmal nicht wichtig. Über die Screenshots sieht man das Konstrukt meines Skriptes vollständig. Mit diesem Konstrukt schaffe ich es aktuelle nicht, eine Zeile mit über 250 Zeichen aus meiner Excel Tabelle auszulesen und dann mit "send" zu senden. Nun stellt sich die Frage, ob es eine wenig aufwendige Methode gibt, diesen "Bug" oder diese "Begrenzung" aufzuheben? Wenn es mit meiner Funktion nicht möglich ist, dann ist dies ok; ich habe aktuell wenig Zeit und Lust ein ganz neues Skript zu schreiben.

    Gruß Bernd

  • Wie genau die Funktion aussieht ist in diesem Fall erstmal nicht wichtig. Über die Screenshots sieht man das Konstrukt meines Skriptes vollständig.

    Na ja, wie man es nimmt.

    Das spezielle Ziel ist, einfach ein send Vorgang mit mehr als 250 Zeichen, wie ich es beschrieben hatte.

    Der Befehl Send kann problemlos mehr als 250 Zeichen senden, siehe :

    Was allerdings die Sinnhaftigkeit angeht, da schließe ich mich den Kommentaren von AspirinJunkie an. Die Nutzung einer API (sofern vorhanden) wäre die weitaus bessere Wahl.

    ich habe aktuell wenig Zeit und Lust ein ganz neues Skript zu schreiben.

    Die meisten von uns aber auch nicht.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Warum verwendest Du nicht _Excel_RangeWrite wenn Du schon _Excel_Open und _Excel_BookOpen verwendest? Damit lässt sich das Excel-Limit von 255 Zeichen umgehen.

    API und GUI-Automatisierung zu mischen ist selten die beste Lösung ;)

  • Sorry für die Späte Antwort. Ich danke euch für eure Antworten. Ihr habt mich etwas weiter gebracht. Zumindest weis ich nun, das dieses Limit nicht nur bei mir besteht:

    Damit lässt sich das Excel-Limit von 255 Zeichen umgehen

    Ich werde mal versuchen _Excel_RangeWrite irgendwie in mein Skript einzubauen, damit ich dieses Limit umgehen kann.

    Gruß Bernd

  • Der Trick ist dabei, den Parameter $bForceFunc auf True zu setzen.

  • $bForceFunc auf True

    Wenn ich nur dieses in mein aktuelles Skript einbauen muss, ohne große Veränderungen, würde ich dies machen; ich glaube aber ich müsste mein Skript grundlegend verändern und das möchte ich aktuell nicht. Ich habe mich damit angefreundet lange Textein in Excel in zwei Zellen zu teilen um diese senden zu können. Vielen dank aber für deine Tipps.