Applescript:等到Acrobat X中的“Print”对话框关闭

时间:2013-04-03 18:01:44

标签: printing dialog applescript acrobat

Applescript中的总菜鸟,请耐心等待......

我们有一个过程,我们使用系统事件来控制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

我也尝试将该代码放入超时,但没有机会。

现在,我被卡住了,但我确信这是一个愚蠢的初学者错误。

另一个注意事项:我无法使用UIElementInspector获取此“打印”窗口的名称。

提前感谢任何建议。

1 个答案:

答案 0 :(得分: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