Automatisches Bestätigen einer MS-Excel Makro-Meldung

  • Hallo,

    ich suche nach einer Möglichkeit ein Meldungen automatisch mit ok zu bestätigen. Ich habe ein Excel-File, welches nacheinander andere Excel-Files lädt, eine Rechenoperation via Makro ausführt und dann wieder schließt. Leider muss man nach jedem Ende einer Rechenoperation mit ok bestätigen. Da die Makros geschützt sind und sich da nichts ändern lässt bin ich auf meiner Suche nach einer Lösung dieses Problems auf Autoit gestoßen. Leider hab ich keine Ahnung von dem Programm und ich hab auch (noch) nichts Verwertbares für mein Problem gefunden. Wenn ich mir die Scripte hier im Board so anschaue, wäre meines sicherlich nen klacks--- aber ich weiß nicht wie :(

    Für Hilfe wäre ich sehr dankbar.

    Gruß, Darian

    2 Mal editiert, zuletzt von Darian (25. Februar 2009 um 12:48)

  • dir würde was reichen, dass immer auf ein entsprechendes fenster wartet (WinWait) und du es dann bestätigst (ControlClick).
    für die Werte solltest du dir die Hilfe anschauen und du wirst das AutoIt-InfoTool nutzen müssen.

    Ich hoffe das reicht dir für den Anfang ...

    Aber automatisches Makro-Bestätigen hört sich schwer nach bösen dingen an ;)

  • Wenn du die meldung mit "Enter" bestätigen kannst,
    kannst du es vielleicht so lösen..

    [autoit]


    While 1
    Sleep(10)
    WinWaitActive("Titel der Meldung")
    Send("{ENTER}")
    WEnd

    [/autoit]

    Grüsse

  • Vielen Dank an euch beide... ich glaube das hilft mir schonmal weiter. Und ja, ich kann das Fester auch mit Enter bestätigen...

    Böse Dinge liegen mir im übrigen fern, ich will ja auch nicht die Ausführung des Makros automatisieren sondern ein Fenster innerhalb einer Rechenoperation (bei aktiviertem Makro). Aber das Makro sagt mir halt jedes Mal, das der Solver eine Lösung gefunden hat und fragt mich ob ich die Werte übernehmen will oder ob ich die alten Werte wiederherstellen will... und das nervt ;)

  • Super... klappt... vielen Dank!

    Gibt es irgendeine Möglichkeit in der While-Schleife ein Fenster mit einem Stopp-Button zu erzeugen, der mir die While-Schleife abbricht, wenn ich es will? Ich kann zwar Fenster erzeugen und schließen aber ich weiß nicht wie ich die Schleife abbreche...

  • Hiermit:

    [autoit]


    HotKeySet("!t", "Terminate")

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

    While 1
    Sleep(10)
    WinWaitActive("Eigenschaften")
    Send("{ENTER}")
    WEnd

    Func Terminate()
    Exit
    EndFunc

    [/autoit]
  • mmmh irgendwie klappt das mit dem t drücken nicht...

    Ich hab mal das probiert:

    [autoit]


    $answer = MsgBox(0, "Automatisches Bestätigen des Solvers", "OK drücken, um das Programm abzubrechen!")

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

    While $answer = 0
    Sleep(10)
    WinWaitActive("Ergebnis")
    Send("{ENTER}")

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

    WEnd

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

    If $answer = 1 Then
    MsgBox(0, "Automatisches Bestätigen des Solvers", "OK. Bye!")
    Exit
    EndIf

    [/autoit]

    Aber wieso geht dann die while-Schleife nicht mehr??? :(

  • aaaaah ich Depp... Ja danke für den Hinweis...

    Mein Beispiel funktioniert vermutlich nicht, weil er erst auf die Antwort wartet und dann die While-Schleife überspringt...richtig?

    Ok, also vielen Dank an euch beide. Ich glaub ich werde mich mal genauer mit dem Programm auseinander setzen... Scheint in vielerlei Hinsicht nützlich zu sein.

    Gruß,
    Darian

    Ps: und achso... es geht mit Alt+T... :D

  • Ps: und achso... es geht mit Alt+T... :D

    du kannst natürlich auch einen anderen tastenkürzel nehmen..
    schau dir in der hilfe den befehl "Send" an..

    Grüsse und setze bitte den thread auf gelöst..