AppleScript名:印刷可能なプリンタ一覧から選択してプリント実行 10.9 |
set pList to getPrintCues() set aPrinter to first item of (choose from list pList with prompt "出力先のプリンタを選択してください") set aPrintSetting to {copies:1, starting page:1, ending page:9999, target printer:aPrinter} tell application "Pages" activate tell document 1 try print with properties aPrintSetting without print dialog –ダイアログなしで印刷 on error display dialog "プリント中になんかのエラーが発生しました。たぶん、キャンセルされたんでしょう" buttons {"OK"} default button 1 end try end tell end tell (* –とりあえずSafariで印刷してみた。Safariである必要はない tell application "Safari" activate tell document 1 try print with properties aPrintSetting without print dialog –ダイアログなしで印刷 on error display dialog "プリント中になんかのエラーが発生しました。たぶん、キャンセルされたんでしょう" buttons {"OK"} default button 1 end try end tell end tell *) –プリントキューの名称一覧を取得(10.9用) on getPrintCues() set aRes to do shell script "lpstat -v" set aList to paragraphs of aRes set bList to {} repeat with i in aList set j to contents of i set jj to trimStrings(j, "device for ", ":") of me set the end of bList to jj end repeat return bList end getPrintCues –任意の文字列から指定開始子、指定終了子でトリミングした文字列を取り出す on trimStrings(aString, fromStr, endStr) set fromLen to length of fromStr set eLen to length of endStr set sPos to offset of fromStr in aString if sPos = 0 then return "" set body1 to text (sPos + fromLen) thru -1 of aString set ePos to offset of endStr in body1 if ePos = 0 then return "" set body2 to text 1 thru (ePos – 1) of body1 return body2 end trimStrings |
(Visited 54 times, 1 visits today)