[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:1254) Re: [AS Indesign CS] print-current-page.as
>current pageがすぐにgetできないので。
おおうそでした^^
layout windowクラスにactive pageはある。
書き直し。特に不具合報告がなければ表にあげます。
(*
print-current-page
(c)2005 www.seuzo.jp
カレントページのみを特定のプリセットですばやくプリントします
●history
ver0.1 とりあえず、おうち使いよう
ver0.2 オブジェクトが選択されていない時、active pageをgetするようにした。バージョンチェック、ドキュメントチェック。
*)
--※ここで目的のプリセット名を入れておきます。ex.)A4_ぺら+トンボ
set my_preset to "A4_ぺら+トンボ" as Unicode text
tell application "InDesign CS_J"
my ver()
my doc_exists()
tell document 1
set my_selection to selection
if my_selection is {} then
tell layout window 1
set my_page to active page
end tell
set my_page to name of my_page
else
set my_selection to object reference of selection
set my_page to my getpage(my_selection)
end if
tell print preferences
set page range to my_page
end tell
print using my_preset without print dialog
end tell
end tell
--------------------------------------------------------●選択オブジェクトからページ名を得る
to getpage(my_selection)
tell application "InDesign CS_J"
tell document 1
--set my_selection to object reference of my_selection
if (class of my_selection) = page then
return name of my_selection
else
set my_tmp to parent of my_selection
if class of my_tmp = story then set my_tmp to parent of parent text frame of my_selection
my getpage(my_tmp)
end if
end tell
end tell
end getpage
--------------------------------------------------------●InDesignバージョン確認ルーチン
to ver()
tell application "InDesign CS_J"
set my_version to version
if my_version < 3 and my_version > 3.9 then
activate
my my_error("このプログラムはInDesign CS以外では動作しません", true)
end if
end tell
end ver
--------------------------------------------------------●ドキュメントが開かれているかどうか
to doc_exists()
tell application "InDesign CS_J"
if not (exists document 1) then
activate
my my_error("ドキュメントが開かれていません", true)
end if
end tell
end doc_exists
----------------------------------●エラー処理
on my_error(err_str, my_stop)
set err_str to err_str as Unicode text
if my_stop then
set my_stop to {"中止"}
else
set my_stop to {"中止", "続行"}
end if
tell application "InDesign CS_J"
activate
beep
set ANS to button returned of (display dialog err_str buttons my_stop with icon 2) --警告ダイアログ出してストップ
if ANS is "中止" then error number -128
end tell
end my_error