Beiträge von Bernd Albrecht

    Anfänglich ging es ja um ein allgemeines Thema, wir sind dann auf "Func" abgedrifftet. Die Deutsche Anleitung habe ich mir heruntergeladen, leider funktioniert die Suchfunktion nicht ganz, ansonsten lasse ich die englische Version über Google Übersetzer übersetzten. Ich glaube aber aber mit "Func" wird mein vorhaben nicht klappen.
    Ich habe folgendes Skript: mit

    Mit diesem Skript lade ich Designs auf Plattformen hoch, SP.DE und SP.com sind dabei fast identisch, Für Shirtee Deutsch, Englisch, ... sind auch fast identisch bis auf einen Buchstaben und die Sprache.
    Wenn nun eines dieser PLattformen Änderungen beim Uploadprozess vornimmt, würde ich, wenn möglich, dieses nur einmal im Skript ändern wollen.


    Gruß Bernd

    Hallo Leute, ich habe folgende Angelegenenheit und hoffe, das man mir helfen kann:

    Ich möchte, das bei iCount=0 1 mal rechts gedrückt wird, bei iCount= 1 3 mal; bei iCount=2 5; ..... also im zweier Step mit beginn bei 1, aber ich möchte nicht, das dabei auf die Step 3 oder 5 von der Range zugegriffen wird. Also die Lösung Step auf 2 zu stellen, kommt eher nicht in Frage. Gibt es eine Möglichkeit 2 verschiedene Steps innerhalb einer Funktion zu bestimmen?

    Ich danke euch im vorraus für eure Antworten.

    Gruß Bernd

    Wenn die Bereiche mehrmals exakt so vorkommen, kannst du doch aus allen 1 Funktion machen und an verschiedenen Stellen aufrufen.

    Wie geht das genau? Bei mir kommt eine Fehlermeldung bisher.

    Code
    #include <AutoIt>
    Func Chrome Öffnen
    ShellExecute("chrome.exe", "www.google.de")
    sleep(100)
    ....
    sleep(300)
    EndFunc
    
    Func Chrome Öffnen  ; ( Führe Function "Chrome öffnen" aus)

    2. Beispiel:

    Diesen Abschnitt würde ich gerne an einer anderen Stelle meines skriptes genau so ausführen wollen, ohne dieses wieder so schreiben zu müssen, wäre es möglich? Ich bin Amateuer. Ich weis beispeilsweise garnicht wofür Func und ENdfunc gut sein soll, ist bsiher für mich fast das gleiche wie #Region und #Endregion....

    Gruß Bernd

    Musashi, danke für deine Antwort
    Es gibt doch beispielsweise $HWND = WinWaitActive("Datei hochladen", "") , wenn ich "$HWND" dann später nochmal in meinem Skript verwende brauch ich nicht " WinWaitActive("Datei hochladen", "") " schreiben.

    Ich würde gerne Abschnitte in meinem Skript die identisch mehrmals vorkommen abkürzen wollen, ohne diese immer wieder auszuschreiben. Wenn ich dann beispielsweise mein Skript verändere, bräuchte ich dann, wenn es den möglich sein sollte, nicht jeden bereich einmal verändern sondern nur einen Bereich.
    ich weis nicht wie ich" $HWND" über mehrere Zeilen verwende könnte.


    Gruß Bernd

    Hallo Leute,

    ich würde gerne bei meinem Skript größere bereiche defnieren die im Skript selbst mehrmals exakt so vorkommen. Sodann würde ich gerne nach dem ich diesen Bereich einmal im Skript zu stehen habe, beim zweiten ( dritten, vierten,...) mal irgendwie kürzen wollen. Ist das bei AuoIt möglich?


    exemplarisch:

    Func Chrome Öffnen und weiteres

    ShellExecute("chrome.exe", "www.google.de")

    ....

    EndFunc


    .....

    Func Chrome Öffnen und weiteres



    Ich danke euch im vorraus.


    Gruß Bernd


    PS: Der Bereich ist ca. 50 Zeilen lang

    alpines danke für die schnelle antwort. Ich hab mich etwas dumm angestellt.


    Für diejenigen mit einem gleichen Anliegen:
    Opt("SendKeyDelay", 150) ist dann nicht mehr gültig wenn ein anderes Opt("SendKeyDelay", xxx) verwendet wird.


    Gruß Bernd

    Hallo Leute, leider bin ich im Internet nicht fündig geworden daher wende ich mich an euch.


    Wie kann ich Opt ("SendKeyDelay", 150) nur für einen bestimmten Abschnitt eines Skriptes definieren. Und kann ich ich diese "Option" mit verschiedenne Werten innerhalb eines Skriptes anwenden?

    Ich möchte das mein Skript an bestimmten Abschnitten die Zeilen ( Send) etwas langsamer eintippt.


    Ich danke euch im vorraus.


    Gruß Bernd

    Bitnugger danke für dein Hilfe.

    Das web developer addon hatte ich tatsächlich schon, wusste und weis aber nicht wirklich wie ich damit arbeiten soll. Die "Buttons" der Benutzeroberfläche von mir zeigen bei bei "Display Links Detail" und "Display Object Information" fast immer das gleiche an: " href="#" ";
    bei "Display Anchors" bekomme ich mehr zu sehen, bspw.: " #upload-btn "

    Ich habe bisher folgendes diesbezüglich:


    C
    #include <AutoIt>
    #include <IE.au3>
    
    Local $oIE = _IECreate("https://partner.spreadshirt.de/designs#")
    sleep(3000)
    Local $oSubmit = _IEGetObjByName($oIE, "#upload-btn")
    sleep(3000)
    _IEAction($oSubmit, "click")
    _IELoadWait($oIE)

    Leider clickt er noch nicht auf den gewünschten button. Zumal ich dies dann noch im Hintergrund laufen lassen will. Die ganzen möglichkeiten bei IE.au3 sind für mich ziemlich kompliziert. Muss ich IE_Action; IE_Getobjektbyname/ID/text; _IELinkClickByIndex oder _IELinkClickByText oder was ganz anderes benutzen?

    2.
    Aktuell habe ich einen heruntergekommenen Laptop von mir ausgegraben. Der Browser von diesem funktioniert halbwegs noch. Daher werde ich, wenn ich es nicht schaffen sollte die Designs im Hintergrund hochzuladen, den Laptop dafür benutzen, sodass ich an meinem Rechner weiter arbeiten kann. Meinem Laptop vertraue ich nicht ganz, aber dies ist besser als, das mir mein Rechner für Stunden geblockt ist.

    Gruß Bernd


    PS: Bei Bild: 2020-06-19 (3).png ist glaube ich ein Fehler im Browser, sodass er einiges doppelt zeigt.

    @moobas Danke für deine Hilfe, ich hab jetzt überall global antsatt lokal eingebaut... das mit dem ""#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7" muss ich mir noch anschauen, ich bin schon zufrieden wenn das Programm dann einigermaßen läuft, mein Kopf tut mir jetzt schon weh ....||

    2. Update: Ich bin von meinem Experiment zurückgetretten, in welchem ich mir die Arbeit leichter machen wollte und die $_readA ´s mit $_hashtag_3_deutsch ersetzen wollte. Nun habe ich wieder die Reads strickt nach Buchstaben sortiert und es läuft . :)

    Moombas wie schafst du es die Skripte von Autoit hier so einzufügen, sodass die farbe und etc nicht verloren geht...?

    Gruß Bernd



    Moombas danke für deine Hilfe, muss ich diesen Part von dir vor meinem eigentlischen Skript einbauen oder muss ich an meinem aktuellen Skript änderungen Vornehmen?

    2.
    Kann ich nicht anstatt $_readA : $_read1 oder $_name_deutsch oder $_Eigenschaft_für_Vorlage verwenden? Gibt es da regeln? Darf man keine ü-ä-ö verwenden? Darf man nicht zweimal den Unterschrisch verwenden _ _ ? Hat jemand eine Idee was die Fehlermeldung in meinem Skript zu bedeuten hat?

    3.
    Frage: Muss man dieses Zeichen: , _ ( komma-Unterstrich) , verwenden, wenn der Code in der nächsten Spalte weitergeht? Müsste ich dies ( wenn den so) auch bei meiner langen $aSleep-Reihe verwenden?



    Mein Skript verkürzt:


    Opt('MustDeclareVars', 1)

    #include <Excel.au3>

    Local $oExcel_1 = _Excel_Open()

    Local $var = "C:\Users\\Desktop\Read ideal.xlsx"

    Local $oWorkbook = _Excel_BookOpen($oExcel_1,$var)

    WinActivate("Read ideal - Microsoft Excel")


    Local $_nameenglisch, $_eigenschaftfurvorlage, $_beschreibungdeutsch, $_beschreibungenglisch, $_nichts1, ... , $_hashtag24englisch, $_hashtag25englisch, ; Insgesamt 60 "$_read´s"

    $aSleep = [1000, 2000, 3000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000

    , 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000

    , 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000

    , 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000

    , 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000], ; ( $aSleep für 60 "$_read´s" )
    $iCount


    Local $aRanges = [ ['B2', 'B3', 'B4', 'B5'........´B61´],_
    [ ['C2', 'C3', 'C4', 'C5'........´C61´]
    ....
    ['AY2', 'AY3', 'AY4', 'AY5'........´AY61´] _
    ]


    For $i = 0 To UBound($aRanges) -1 Step 1

    $_name_deutsch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][0])

    $_name_englisch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][1])

    $_eigenschaft_für_vorlage = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][2])

    $_beschreibung_deutsch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][3])

    $_beschreibung_englisch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][4])

    $_nichts_1 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][5])

    $_nichts_2 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][6])

    $_nichts_3 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][7])

    $_nichts_4 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][8])

    $_hashtag_1_deutsch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][9])

    .....

    $_hashtag_25_englisch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][59])


    T_Shirt_Design_hochladen($_name_deutsch, $_name_englisch, $_eigenschaft_für_vorlage, $_beschreibung_deutsch, $_beschreibung_englisch, $_nichts_1, $_nichts_2,$_nichts_3, $_nichts_4, $_hashtag_1_deutsch, $_hashtag_2_deutsch,

    $_hashtag_3_deutsch, $_hashtag_4_deutsch, $_hashtag_5_deutsch, $_hashtag_6_deutsch, $_hashtag_7_deutsch, $_hashtag_8_deutsch, $_hashtag_9_deutsch, $_hashtag_10_deutsch, $_hashtag_11_deutsch, $_hashtag_12_deutsch,

    $_hashtag_13_deutsch, $_hashtag_14_deutsch, $_hashtag_15_deutsch, $_hashtag_16_deutsch, $_hashtag_17_deutsch, $_hashtag_18_deutsch, $_hashtag_19_deutsch, $_hashtag_20_deutsch, $_hashtag_21_deutsch,

    $_hashtag_22_deutsch, $_hashtag_23_deutsch, $_hashtag_24_deutsch, $_hashtag_25_deutsch, $_nichts_5, $_hashtag_1_englisch, $_hashtag_2_englisch, $_hashtag_3_englisch, $_hashtag_4_englisch, $_hashtag_5_englisch,

    $_hashtag_6_englisch, $_hashtag_7_englisch, $_hashtag_8_englisch, $_hashtag_9_englisch, $_hashtag_10_englisch, $_hashtag_11_englisch, $_hashtag_12_englisch,

    $_hashtag_13_englisch, $_hashtag_14_englisch, $_hashtag_15_englisch, $_hashtag_16_englisch, $_hashtag_17_englisch, $_hashtag_18_englisch, $_hashtag_19_englisch, $_hashtag_20_englisch,

    $_hashtag_21_englisch, $_hashtag_22_englisch, $_hashtag_23_englisch, $_hashtag_24_englisch, $_hashtag_25_englisch, $aSleep , $i + 1) ; ($i + 1 = $iCount)


    Next


    Func T_Shirt_Design_hochladen($_readA, $_readB, $_readC, $aSleep, $iCount)

    If $iCount = 1 Then

    ....
    .....
    ....

    EndFunc




    Ich danke euch im vorraus

    PS: IM Skript ist nicht alles einheitlich: ich hatte am Anfang des Skirptes die Unterstriche entfernt und veräderungen vorgenommen, um zu schauen ob die Fehlermeldung verschwindet; ich hatte nicht das gesamte Skript dementsprechend verändert.


    Gruß Bernd

    Update: Ich konnte die roten Fehlermeledungen beseitigen, weil ich dieses: ( , _ ) in den Arrays eingefügt hatte, wie Bitnugger es vorgemacht hatte. Mit meinem aktuellen Array wird das Notepad nicht ausgeführt und drauf geschrieben. Vorher, mit dem Array von Bitnugger hatte dies geklappt. Muss ich zwangsläufig mein gesamtes Array deklarieren? Ihc wollte zunächst einmal testen wie es klappt bevor ich meine Range vergößere und die feinarbeiten vorneme.

    2.
    Sind die Grünen Felder im Bild q wichtig für die Ordnung der Range? ( Bei Range stelle ich mir einen Bauerhof vor, mit vielen Tieren ( Huhn, Kuh,..etc)).Ich dachte immer das Grüne würde nie gelesen werden.

    Gruß Bernd

    Ich hab nun eine etwas größere Range geschrieben und versuche das ganze laufen zu lassen, klappt aber irgendwie nicht. Darf eine Range nur eine bestimmte Görße haben? Oder habe ich irgendwas falsch geschrieben?
    Ich brauche die Range für 25 Hashtags und dann nochmal 25 Hashtags in Englisch, plus Name Beschreibung, Eigenschaften... insgesamt ca. 60 Elemente in einer Range. Diese Range muss ich dann nochmal 50 ( 50 Designs) mal schreiben, also 60x50 soll die Größe von der Range sein. Vielleicht ist das zu überdimensional?


    Gruß Bernd

    Hallo Leute,
    ich möchte das uploaden auf Spreadshirt.de automatisieren. Es ist zwar nicht gerne gesehen von Spreadshirt.de, dass man automatsiert Designs hochlädt, sie verbieten dieses aber meines Wissens nach aktuell noch nicht laut den AGB´s.
    Ich würde gerne dabei das IE.au3 verwenden und den Explorer im Hintergrund laufen lassen, sodass mein PC nicht blockiert ist und ich weiter arbeiten kann. ( und nicht 1-2 Stunden warten muss bis alles upgeloadet ist...) Ich lasse mein Skript für den Upload besonders langsam laufen, sodass ich nicht gesprerrt/gebannt werde. Es gibt ein Uploadlimit :pro Tag / 50 Designs auf Spreadshirt.de.


    Mein akteuelles Problem dabei ist, das ich gerade nicht wirklich weis, wie ich auf die Buttons auf der Seite: spreadshirt.de/designs klicken soll, da mir die "Element untersuchen" keinen Namen oder keine ID ausgibt.
    Hat jemand eine Idee, wie ich dann trotzdem hier bspw. auf "Design finden" oben rechts ( siehe Bilder) klicken kann?

    Button "Design finden":

    <input type="text" placeholder="Design finden" data-v-258a5d96="">


    Ich danke euch im vorraus für eure Hilfe.

    Gruß Bernd

    Bitnugger , danke für deine vorherige ANtwort, jetzte verstehe ich das mit dem $aSleep...

    1.
    Send("{RIGHT" & $iCount & "}")

    Bei meinem Test drückt AutoIT immer an dieser Stelle R, und nicht wie gewünscht jeweils x-mal nach rechts ( am iCount orientiert). Ist hierbei ein Zeichen vielleicht falsch gesetzt?
    Ich möchte das AutoIt bspw. bei der 12 Schleife nach 12 mal an der jeweiligen Stelle auf "Rechts" drückt und bei der 13 Schleife dann 13 mal. Bei Notepad bringt das rechtsdrücken nix, aber wieso wird da R reingeschrieben?


    2. Wie kann ich einstellen das AutoIt bspw. nach der 12 Schleife aufhört?

    Gruß Bernd

    Danke Bitnugger für deine Antwort.
    1.

    ist das $aSleep hierbei wichtig. Ich verstehe darunter das bei jeder neuen Schleife 1 Sekunde länger gewartet wird... Ich bräuchte dieses eigentlich nicht, wenn dem so wäre; außer es hat einen anderen eigentlichen zweck.

    2.

    Send("{RIGHT" & $iCount & "}")

    Bei meinem Test drückt AutoIT immer an dieser Stelle R, und nicht wie gewünscht jeweils x-mal nach rechts ( am iCount orientiert). Ist hierbei ein Zeichen vielleicht falsch gesetzt?


    Gruß Bernd