Hallo,
ich will bestimmte Dateien, die so benannt sind, beim Öffnen in den Vordergrund bringen: *_001.odt
Dabei soll die dreistellige Zahl von 001 bis 999 möglich sein. Die Titelzeile in OpenOffice Writer lautet dann so: "*_001.odt - OpenOffice.org Writer"
Wenn ich das mit einer konkreten Datei namens "_001.odt" machen will, dann funktioniert das:
[autoit]
$b = "_001.odt"
$i = "Vordergrund-Wächter aktiviert"
While 1 * sleep(100)
If WinExists($b) Then
WinSetState($b, "", @SW_MAXIMIZE)
WinSetOnTop($b, "", 0)
WinActivate($b, "")
WinSetTitle($b, "", $i)
EndIf
Wend
Meine Versuche, das zu abstrahieren gehen soweit:
[autoit]
$i = "Vordergrund-Wächter aktiviert - SAP_OO"
$t = "[CLASS:SALFRAME]"
; _001.odt - OpenOffice.org Writer
; Titelzeile von rechts: 32 Zeichen!
While 1 * sleep(100)
If WinExists ($t,"") Then
$tit = WinGetTitle($t)
$tit2 = StringRight($tit, 32)
; Unterstrich:
$tit3 = StringLeft($tit2, 1)
$tit4 = StringRight($tit, 28)
; .odt :
$tit5 = StringLeft($tit4, 4)
; 3 Zahlen:
$sid1 = StringRight($tit, 31)
$sid2 = StringLeft($sid1, 3)
;Prüfen, ob die 3 Stellen links vom Punkt Zahlen sind
$x = StringIsDigit($sid2)
If $x = 1 AND $tit3 = "_" AND $tit5 = ".odt" Then
WinSetState($tit, "", @SW_MAXIMIZE)
WinSetOnTop($tit, "", 0)
WinActivate($tit, "")
WinSetTitle($tit, "", $i)
Else
; $x = 0 also keine 3 Zahlen
EndIf
EndIf
Wend
Das macht das halbwegs. Nur muss erst nochmal ein anderes geöffnetes Dokument angeklickt werden. Es funktioniert also nicht, wie es soll...
Dank und Gruß im Voraus!
Thomas