Guten Morgen,
bin noch recht neu in AutoIt ![]()
Dennoch habe ich folgendes Problem:
Über ein Programm fahre ich einen Report, der mir später mehrere Seiten in Crystal Report dar stellt. Dies soll alles automatisch ablaufen, was ich bereits mit AutoIt realisieren konnte.
Das Problem ist jetzt, dass ich in diesem Report immer verschieden viele Seiten habe. Diese Seiten werden per Screenshot separat abgelegt. Kann man AutoIt irgendwie sagen, dass er schauen soll, wieviele Seiten dieser Report hat um so dementsprechend die Screens erstellt? Über einen Button gelangt man auf die nachfolgenden Seiten des Report. Derzeit habe ich es wie folgt laufen:
[autoit]WinWait("Fenster")
If Not WinActive("Fenster") Then WinActivate("Fenster")
WinWaitActive("Fenster")
Send("{CTRLDOWN}m{CTRLUP}") ; um den Screen zu erstellen
Sleep(2000)
MouseMove(155,45) ; wandert die Maus auf den Button "Nächste Seite"
MouseDown("left")
MouseUp("left")
Send("{CTRLDOWN}m{CTRLUP}")
Sleep(2000)
Das ganze vorerst für 4 Seiten. Da ich aber keine Lust habe, täglich abzugleichen ob alle Seiten vorhanden sind, wollt ich das gerne irgendwie realisieren.
Jemand Rat? Danke im voraus!
Edit:
Bei dem bekomm ich 'ne Fehlermeldung =/
Spoiler anzeigen
IF
PixelGetColor(152, 38 ) = Hex('0x000000')
Then
Send("{CTRLDOWN}m{CTRLUP}")
Sleep(2000)
ElseIf
PixelGetColor(152, 38 ) = Hex(0xADAA9C) ; PixelGetColor(Koordinaten der Maus A, Koordinaten der Maus B )
Then
Run("C:\WINDOWS\explorer.exe /root, C:\skript\Bilder")
....
Daraus soll folgende Logik entstehen:
Wenn Mauszeiger die Farbe schwarz anvisiert, mache einen Screenshot. Wenn aber Farbe grau angezeigt wird, gehe weiter und öffne den Ordner (da die Felder ausgegraut werden, wenn es die letzte Seite ist)