Beiträge von Bernd Albrecht

    Möglicherweise funktioniert die Website generell nicht mehr zuverlässig mit dem veralteten Internet Explorer.

    Vielen Dank. Wenn ich auch den Button mit dem das "Datei Hochladen" Fenster erscheint mit einem normalen Mausklick betätige anstatt über den Webdriver, dann friert das Skript nicht ein. Vorerst ist dies für mich ok. Die Fortgeschritteneren Webdriver UDF´s schaue ich mir vielleicht irgendwann an. Wobei ich es "blöd" finde, wenn ein Update von Chrome oder Fire FOx kommt, das dann möglicherweise dieser Webdriver nicht mehr funktionieren könnte.

    Hi Leute,

    mein Skript friert ein, nach dem Erscheinen vom "Datei zum Hochladen auswählen" Fenster.
    Hier ist ein ähliches Problem gewesen, wo ich aber keine Lösung entdecken konnte:
    https://www.autoitscript.com/f…oad-a-fileinput-typefile/

    Mein Skript:

    Auch ein normaler Mausklick funktioniert nicht nach dem erscheinen des Datei Hochladen Fensters vom alten Internet Explorer. Hat jemand eine Ideee, was das Problem sein könnte und wie ich es bewältigt bekomme?

    Ich danke euch im vorraus.

    Gruß Bernd

    water vielen, vielen Dank für deine Hilfe.
    MIt "$_readA = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][0], 1, True)" habe ich das Buchstabenproblem lösen können. Und indem ich "Global $aArray = _Excel_RangeRead($oWorkbook)" oben in mein Skript eingefügt habe und sonst nchts weiteres unternommen habe, braucht mein Skript aktuell für jede neue Schleifenur ca. 15 Sekunden und nicht mehr 2-3 minuten. Ich hoffe das bleibt auch so.

    Ihr, besonders aber water, habt mir sehr weitergeholfen. Danke.

    $aArray = _Excel_RangeRead($oWorkbook)

    Das liest das gesamte Arbeitsblatt in einen 2D Array ein. Dann brauchst Du Dich nur mehr in Schleifen durch den Array durcharbeiten.

    Vielen dank für deine Hilfe. Ich möchte das die Schleifen Funktionalität weiterhin beibehalten wird in meinem Skript. Also ich möchte nicht bsp. mein Skript 100 mal wiederholen müssen und dort die Werte der einzelenen Reihen reinschreiben müssen, sondern das sich mein Skript weiterhin Reihe für Reihe an meinem Skript abarbeitet.
    Ist dies bei diesem "$aArray = _Excel_RangeRead($oWorkbook)" gegeben oder habe ich dann nur ein einziges riesiges Array wo ich explicit die Reihe und Zeile nennen muss, wenn ich dieses verwenden will?


    $_readA = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][0], 1, True)

    Müsste dann anstelle dieser ca. 220 Reihe nur eine Reihe mit "$aArray = _Excel_RangeRead($oWorkbook)" in mein Skript kommen und meine riesige Range müsste noch bleiben? Sorry, ich weis ich bin hier nervig.

    die vielen Sleeps

    Wie meinst du das? Das die sleeps zeit beanspruchen, das weis ich. Ich meine das nach der letzten Aktion einer Schleife, 2-3 minuten gewartet wird... Wenn ich einige Sleep befehle streiche oder zusammenfasse oder die "Random" sleeps in normale sleeps umwandle, könnte mein Skript dann etwas schneller werden?

    Lies das gesamte Excel Workbook in einen Array und arbeite dann diesen Array ab. Ist natürlich eine größere Anpassung!

    Ich habe schon in meinem bisherigen "Excel Workbook" eingebaut, wie genau meinst du das? Meinst du, das diese Range in meinem Skript verschwinden soll und ich es auf einem "Array" organisieren soll?

    Das 255 Zeichen Limit umgehst Du, wenn Du für die Funktion _Excel_RangeRead den Parameter $bForceFunc auf True setzt.

    Sorry..., wie kriege ich das hin? Muss ich in jede Klammer diesen Parameter einfügen? Könntest du mir dies bitte zeigen.

    Code
    $_readA = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][0])
    $_readB = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][1])

    Evtl. solltest du diese nach Möglichkeit überarbeiten und dadurch dann auch eine bessere Abfrage erhalten können.

    Vielen dank für diese Antwort. Ich merke mir diesen Tipp. Aktuell benutze ich nicht dieses "Display Array" sondern, das Skript im Anhang. Dort habe ich keine Probleme damit. Sollte mein neues Skript klappen, würde ich eventuell dann deinen Tipp anwenden. Der Inhalt einiger Zellen soll gleich sein und für meine Zwecke macht dies auch sinn.

    Kannst Du bitte in kurzen Worten beschreiben, was der Zweck des Skriptes ist?

    Ohne zu verstehen, was Du erreichen willst, ist es schwierig Verbesserungsvorschläge zu machen.

    Das Skript was ich im Anhang eingefügt habe, ist das Skript was ich aktuell benutze und was eine lange Wartezeit nach jeder Schleife hat. Das Skript C im Beitrag, ist ein Skript-Grundlage auf welches ich eventuell mein aktuelles Skript vom Anhang übertragen möchte, wenn vorteilhaft. Ich möchte auf KDP ( Amazon) mithilfe einer Excel Tabelle Designs und Skripte für Taschenbücher hochladen, automatisert mich AutoIt. Es klappt auch bisher gut mit meinem aktuellen Skript, bis auf die Wartezeit und Buchstabenzahl pro Zelle.

    Hi Leute,

    0. kann ich die Daten dieses langen Display Arrays als Schleife in einem Skript verwenden? Bspw. , das bei Schleife 3, das Skript auf die Datenreihe Col 3 zugreift, entweder send Befehle oder andere Befehle?

    Mein bisheriges Skript für diese Zwecke braucht ca. 2-3 minuten für jede neue Schleife; was auf Dauer ziemlich viel Zeit und Strom kostet. Vielleicht liegt es an dem vielen Text den ich in meiner Excel Tabelle habe, den Autoit bei jeder neuen Schleife auslesen muss..., Außerdem ist die Buchstabenanzahl auf 250 Buchstaben pro Zelle begrenzt, was auch nicht so toll ist. Ich suche daher mit diesem Display Array eine neues besseres Skript für meine Zwecke.

    1. Wie kann ich bspw. einen send Befehl für die Zeile "Row 18" formulieren? Also, es soll der Inhalt von Row 18 gesendet werden.
    2. Ab ca. Col 99 scheint mir diese Methodik fehlerhaft zu sein. Zwar ist der gesamte Inhalt bis "HQ" von der Excel Datei in diesem Array, aber die Col- Bezeichnung ist ab Col 99 scheinbar fehlerhaft. Ist diese Methode nicht für mehr als 99 Col´s geeignet?
    3. Gäbe es auch bei dieser Methodik eine Buchstaben Begrenzung?
    4. Wenn ich mit dieser Methodik eine Schleifen Funktion hinbekommen würde, würde meine Skript dann auch für jede neue Schleife ca. 2-3 Minuten Wartezeit benötigen?
    5. Habt ihr Vorschläge, wenn dieser Weg für meine Zwecke der falsche sein sollte, wie ich ein besseres Skript als meines erstellen könnte? Ich brauche die Daten von einer Excel Tabelle, welche ich dann in meinem Skript verwende.

    Ich danke euch im voraus für eure Antworten.

    Gruß Bernd

    Wenn AutoIt mit solchen Zahlen arbeiten soll, müssen sie in der Form sein, die AutoIt versteht - also: 4.66

    Vielen Dank für deine Antwort. Also liegt es an AuoiT, das es von Excel keine Zahlen mit Komma auslesen kann. An sich, wenn ich bspw. einen send Befehl direkt mit einer Komma Zahl eingebe klappt ja alles. Nur wenn AuoIt es über Excel ausliest, klappt es nicht. Ich möchte so einen Verkaufs-Preis eingeben über eine Autoit Automation, wenn AuotiT aber wie hier angesprochen nur Zahlen mit punkt eingibt, bekomme ich eine Fehlermeldung...

    Hi Leute,

    AutoIt gibt bei mir Komma Zahlen die er von Excel ausliest wie bspw. 4,66 nicht als 4,66 sondern als 4.66, also mit Punkt staat Komma, ein. Bei Excel liegt glaube ich nicht das Problem. Weis jemand vielleicht, wie ich es hinebkomme, das AutoIT auch Komma zahlen eingibt?

    Ich danke euch im vorraus.



    Gruß Bernd

    Du könntest es möglichen Helfern/Helferinnen aber deutlich leichter machen, wenn Du

    eine genaue Beschreibung Deines Vorhabens
    die benötigte Excel-Datei (oder wenn vorhanden auch andere Formate)
    Dein bisheriges Skript (Komplettfassung)

    zur Verfügung stellen würdest.

    1. Ich brauche Daten von einer Excel Tabelle bspw. Beschreibungen, Zahlen, Titel,... um aktuell KDP ( Amazon Bücher) automatisiert zu veröffentlichen. Idealer Weise wäre der Bereich der Excel Datei, auf dessen Zellen ich zugreifen kann, sehr groß, bspw. 1000 x 1000 ; Aktuell bin ich bei 114 x 114; und versuche gerade auf 224 x 224 zu erweitern. Aber 300 x 300 würden auch ausreichen. Das aktuelle "Monstrum" Skript soll etwas vereinfacht werden... . Ich gebe also in eine Excel Tabelle etwas ein, und anhand dieser Informationen arbeitet dann AutoiT.
    2. siehe Anhang
    3. siehe Anhang

    Ich bin zufrieden mit den Mausklicks, und keiner API oder sonst was. Mit Mausklicks komme ich also zurecht.

    Trotzdem halte ich einen kompletten Relaunch für die bessere Wahl.


    Warum nicht die ganze Tabelle ein ein Array und dann damit weiterarbeiten?


    Zurück an den Zeichentisch und das Projekt neu konzeptionieren !

    Vielen dank für eure Anregungen. Ich hab gar keinen Plan, wie ich ein neues besseres Script aufbauend auf einer Excel Datei aufbauend könnte. Ich habe vor ca. 1 Jahr oder länger dieses Script mit der Hilfe dieses Forums erstellt gehabt, alleine hätte ich das niemals geschafft. Einfache Befehle wie Mausklick, Send, Selct Funktionen,... verstehe ich noch; was aber den Grundaufbau eines Scirpts angeht, da bekomme ich schnell MIgräne; nicht nur als Metapher, ich bekomme tatsächlich Migräne (Kopfschmerzen).


    Kann ich um eure Hilfe bitten, bei der Erstellung eines besseren Grundskripts? Und wenn ich hier um Hilfe bitte, wird es glaube ich darauf hinaus laufen, das ich von euch ein fast fertiges Grundskirpt haben will... ( Sorry, lieber bin ich Ehrlich)
    Meine Funktion wird ja weiterhin so bleiben, nur der Aufbau müsste sich ändern. Also die ersten Zeilen... ich weis auch nicht ob ich nach euren Vorstellungen noch so ein "Monströses Konstrukt von Zahlen" bräuchte, oder man dies mit ein paar Zeilen abkürzen könnte.
    Vielleicht könnte mir jemand, der schon ein fertiges besseres Script aufbauend auf einer Excel Datei hat, dieses zur Verfügung stellen.


    PS: Ich glaube ich bekomme mein Problem gelöst, wenn ich auch meine B115 erweitere bis B224; bisher hatte ich dieses nicht gemacht.


    die betreffenden Skripte als Quellcode zu posten.

    Hi leute,
    ich wollte mein Script von bis 112 möglichen Schleifen bis 224 mögliche Schleifen erweitern.

    Jch bekomme aber jetzt folgende Fehlermeldung, nach der Erweiterung: Array variable has incorrect number of subscripts or subscript dimension range exceeded.
    Ich habe nicht die besten AutoiT Kentnisse, sogar eher ziemlich schlechte. ich habe nun auf verschiendenen Seiten gelesen, das ich mein Array erweitern muss... Nur in meinem Script gibt es keinen Bereich wo ich es erweitern kann...
    Weis jemand vielleicht wie ich diese Fehlermeldung beseitigen kann?
    Kann es sein das man eine Excel Range nur bis iCount= 114 betreiben kann und mehr nicht?

    Ich danke euch im vorraus für eure Antworten.

    Gruß Bernd

    $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.