Script im Hintergrund mit Programmzugriff

  • Moin Moin Liebe Forumgemeinde.
    Ich bin ein waschechter neuling was das arbeiten mit AutoIt angeht.
    Um meine Arbeitszeit zu optimieren habe ich mich an einem script versucht um
    neue Artikel in unserer Wawi anzulegen.

    Spoiler anzeigen
    [autoit]

    Hotkeyset("{F7}","Ende")

    [/autoit] [autoit][/autoit] [autoit]

    Func Ende ()

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc
    For $i = 1 to 30 Step 1
    WinActivate("Normal")
    WINWAIT("Normal")
    Mouseclick("LEFT", 511,229,1)
    WINWAIT("Normal")
    SEND("{F4}")
    WINWAIT("Normal")
    SEND("{F4}")
    WINWAIT("Normal")
    SEND("{DOWN}")
    WINWAIT("Normal")
    SEND("{DEL}")
    WINWAIT("Normal")
    SEND("{DOWN}")
    WINWAIT("Normal")
    SEND("{DEL}")
    WINWAIT("Normal")
    Mouseclick("LEFT", 824,332,1)
    WINWAIT("Normal")
    SEND("{DEL}")
    WINWAIT("Normal")
    WinActivate("Microsoft Excel - Artikel_Anlegen_Vorlage")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("^c")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    WinActivate("Normal")
    WINWAIT("Normal")
    Mouseclick("LEFT", 494,248,1)
    WINWAIT("Normal")
    SEND("^v")
    WINWAIT("Normal")
    SEND("{DOWN}")
    WINWAIT("Normal")
    WinActivate("Microsoft Excel - Artikel_Anlegen_Vorlage")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("{RIGHT}")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("^c")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    WinActivate("Normal")
    WINWAIT("Normal")
    SEND("^v")
    WINWAIT("Normal")
    Mouseclick("LEFT", 835,334,1)
    WINWAIT("Normal")
    WinActivate("Microsoft Excel - Artikel_Anlegen_Vorlage")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("{RIGHT}")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("^c")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    WinActivate("Normal")
    WINWAIT("Normal")
    SEND("^v")
    WINWAIT("Normal")
    Mouseclick("LEFT", 472,621,1)
    WINWAIT("Normal")
    SEND("{DEL}")
    WINWAIT("Normal")
    SEND("{F6}")
    WINWAIT("Normal")
    Mouseclick("LEFT", 555,506,1)
    WINWAIT("Normal")
    WINWAIT("Normal")
    WinActivate("Microsoft Excel - Artikel_Anlegen_Vorlage")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("{DOWN}")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("{LEFT}")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    SEND("{LEFT}")
    WINWAIT("Microsoft Excel - Artikel_Anlegen_Vorlage")
    Next

    [/autoit]


    So siehts aus... Allerdings ist mein PC sobalt ich es starte blockiert und ich kann nichts mehr machen ausser zuschauen,
    was sehr schade ist wenn es mal eben schnell einige Artikel sein müssen...

    Gibt es eine Möglichkeit das ganze so zu Basteln das ich dennoch nebenbei weiterarbeiten kann?

    Vielen Dank schonmal für die super Unterstützung!

  • Da du ja erwas in Excel machen willst, würde ich dir empfehlen, dir mal die Excel-UDF, welche mit AutoIt mitgeliefert wird, diese dir mal anzuschauen. Send ist 1. unzuverlässig und 2. Kannst mithilfe der Excel UDF das ganze im Hintergrund erledigen.

    Beispiele dazu findest du in der Hilfe ;)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Schau dir mal folgende Funktionen an:

    [autoit]

    ControlSend("Fenstertitel","","controlID","{F4}")
    ControlClick("Fenstertitel","","controlID")

    [/autoit]


    Die "controlID" erhälst du wenn du mit dem "Finder Tool" in dem Autoit Info Tool über das entsprechende Element mit der Maus fährst,
    dann unter dem Reiter: "Summary" den Wert von "Advanced (Class): xxx" kopieren. (Wenn ich mich nicht Irre)
    Das Infotool findest du im Autoit Verzeichnis.

    Edit: Wenn es um Excel geht währ die UDF klar im Vorteil.

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

  • Alles klar
    ich versuchs mal mit den Befehlen und wenns net klappt fuchs ich mich mal ein wenig durch die Hilfe!

    Ich danke euch vielmals!! :thumbup:

    Einmal editiert, zuletzt von Liras (8. Januar 2014 um 10:57)

  • Sofern das nicht klappen sollte gäb es noch _mouseclickplus.
    Dazu einfach die angehängte Datei runterladen. Dieselbe dann über #include <"MousClickPlus.au3"> includieren.

    Bsp.:

    Spoiler anzeigen
    [autoit]

    #include <"MousClickPlus.au3">

    [/autoit] [autoit][/autoit] [autoit]

    _mouseclickplus( "Google - Mozilla Firefox", "left", 787, 503, 1)

    [/autoit] [autoit][/autoit] [autoit]

    ; In diesem Fall wird in FireFox (im Tab mit dem Titel "Google - Mozilla Firefox") ein einfacher Linksklick ausgeführt.
    ; Bei mir wären das die Coords für Google-Suche wobei das ja abhängig von der Auflösung ist.
    ; Aber das Window Info Tool kennst du ja sicher. Damit kannst du dir die Coords ja dann einfach selber rausssuchen.

    [/autoit]


    Nur so als Alternative.