2013-04-03 3 views
3

Всего нуб в Applescript, пожалуйста, медведь со мной ...Applescript: Подождите, пока «Print» диалог закрывается в Acrobat X

У нас есть процесс, в котором используется система событий для управления диалогового окна Печать в Acrobat X. Это работает штраф; мы можем нажать кнопку «Печать».

Теперь нам нужно подождать, пока документ не будет напечатан. Пока документ печатается, открывается диалоговое окно с надписью «Печать», индикатор выполнения и кнопка «Отмена». Мы можем продолжать работу только после закрытия этого окна.

До сих пор я не был успешным с этим ожиданием; Applescript продолжается, и это испортило процесс.

То, что я в настоящее время (обратите внимание, что это часть большого сценария, а переменные определены и представляются обоснованными

Мы Acrobat активно, и диалоговое окно печати открыто:.

tell application "System Events" 
    tell process "Acrobat" 
     -- now we set all the options in the Print dialog, 
     -- which is in the window Print 
     click button "OK" of window "Print 
    end tell 
end tell 

delay 5 
-- this gives Acrobat time to get printing and to open that print dialog window 

repeat while exists window "Print" 
    delay 1 
end repeat 

close active doc saving no 

Я также попытался поставить этот код в тайм-аут, но нет возможности.

Теперь я застрял, но я уверен, что это ошибка глупую новичка.

Аноф er note: Я не смог получить имя этого окна «Печать», используя UIElementInspector.

Большое спасибо за любой совет.

ответ

2

Ваш код заключен в какой-то блок tell application, о котором вы не сообщили здесь? Он должен работать, если вы переместите цикл повторения в tell process блока:

tell application "System Events" 
    tell process "Acrobat" 
     -- now we set all the options in the Print dialog, 
     -- which is in the window Print 
     click button "OK" of window "Print" 
     delay 5 
     -- this gives Acrobat time to get printing and to open that print dialog window 
     repeat while exists window "Print" 
      delay 1 
     end repeat 
    end tell 
end tell 

close active doc saving no 
+0

Спасибо большое. Да, этот кодовый блок находится в пределах сказать приложение «Adobe Acrobat Pro» блок. Но я вижу, что он должен идти, и я попробую. –

+0

Это заняло много времени, но, похоже, сейчас это работает. Спасибо за помощь. –