Hallo Thomas, hallo TMA,
ja, per UI-Scripting habe ich es geschafft, den Menüartikel "Zum Kommentieren in
Adobe Reader aktivieren..." auszuwählen. Dann aber kommt der Sichern-unter-Dialog.
Man kann also nicht per Script einen neuen Pfad vorgeben.
Deshalb: Augen zu und durch! Weiter mit UI-Scripting den Button "Sichern" bestätigt.
Aber weil die Datei schon vorhanden ist, muss auch auf den Button "Ersetzen"
geklickt werden. Das Fenster dieses Dialoges ist aber unbenannt und deshalb muss
ein Klick mit den Koordinaten erfolgen.
Das wirklich Unschöne daran ist, dass die Position des Klicks nicht nach den lokalen
Koordinaten des Buttons im kleinen Dialog erfolgt, sondern von der linken oberen
Ecke des Bildschirms.
Deshalb, Thomas, solltest Du vorgängig den UI-Element-Inspector starten (findet man
hier: http://www.apple.com/applescript/uiscripting/index.html ), manuell die Aktion
durchführen (PDF öffnen, ein Sichern-unter verlangen) und im Inspector-Fenster die
Werte für die Position des kleinen Ersetzen-Dialoges und für den Button "Ersetzen"
notieren. Und dann die Posiiton für den Klick ausrechnen.
Bei mir zeigt der UI-Inspector die Werte x = 757, y = 695 für den Dialog und
W = 96, H = 20 für den Button. Die beiden letzteren Werte muss man halbieren und
zu jenen des Dialoges addieren: 757 + (96/2) = 805 und 695 + (20/2) = 705.
Das Ergebnis in der Liste nach click at einsetzen.
Hier schon mal ein erstes Script, welches aber nur eine Datei behandelt. Acrobat
starten, dann das Script. Ein Dialog lädt ein, eine PDF-Datei auszuwählen. Nach
dem Klick auf "Öffnen" sollte der Rest automatisch geschehen.
---
set curFile to (choose file) as Unicode text
tell application "Adobe Acrobat 7.0 Professional"
activate
open curFile
my selectMenuItem()
delay 10
close document 1 saving no
end tell
on selectMenuItem()
tell application "System Events" to tell process "Acrobat"
click menu item 14 of menu 7 of menu bar 1
delay 1
click button "Sichern" of window "Speichern unter"
delay 1
click at {805, 705}
end tell
end selectMenuItem
---
Falls es damit klappt, werde ich den Code in ein Droplet umwandeln, damit mehrere
Dateien behandelt werden können. Und später wage ich mich vielleicht an eine Lösung
mit JavaScript ...
Gruss, Hans
als Antwort auf: [#421327]