[AppleScripts]ドロップレットの作法を考える その1 open (choose file)
ちょっとAppleScriptのドロップレット作ってくれ!と頼まれたので
AppleScriptsのドロップレット形式のAppファイルの作法を考えてみました。
と
こんな感じで
ダブルクリックでもドロップでも
動作する方法にして提供した。
この方法だと
スクリプトメニュー(メニューバーのアレね)
からも呼び出せるので
デスクトップ等にも配置しなくて良いのわけなので
利用者の使い方(好みの問題)も選べるから
良いなぁと…
ちょっとひと手間かけてみた
ポイントは
1:of type を指定して処理の対象になるファイルタイプを選択させる
ぐらいでしょうか?
open (choose file)で選択されたファイルは
open theDropObjに渡されて
theDropObjに格納(定義?)されるって事になります。
------------------------------------------------■■■■ ダブルクリック起動の始まり
on run
------------------------------------------------【設定項目】ファイル選択ダイアログのデフォルトのディレクトリ
---set theDefLoc to path to shared documents from user domain
set theDefLoc to POSIX file "/Users/Shared/Downloads"
------------------------------------------------【設定項目】Uniform Type Identifier指定
------------------------------------------------詳しくは http://goo.gl/6jAQa Uniform Type Identifierを見てください
---png jpg画像ファイルの場合---set theFileType to "public.png,public.jpeg" as text
---簡素の記述も出来ますPDFの場合---set theFileType to "PDF" as text
set theFileType to "public.movie,com.adobe.flash-video" as text
------------------------------------------------↑のファイルタイプをリスト形式に整形する
set AppleScript's text item delimiters to {","}
set theFileTypeList to every text item of theFileType
------------------------------------------------【設定項目】プロンプトの文言改行が使えます\nを入れます
------------------------------------------------Uniform Type Identifierとメッセージ
set theWithPrompt to theFileType & "\nファイルをえらんでください\n"
------------------------------------------------残りのメッセージ
set theWithPromptMes to "ファイルをドロップしても\n動作します"
------------------------------------------------ダイアログを出して選択されたファイルは「open」に渡す
open (choose file default location theDefLoc ¬
with prompt theWithPrompt & theWithPromptMes ¬
of type theFileTypeList ¬
invisibles true ¬
with multiple selections allowed without showing package contents)
end run
----------------------------------------------■■■■ openドロップ起動の始まり
on open theDropObj
tell application "Finder"
----------------------------------------------■■■■ 繰り返しの始まり
repeat with theObjFiles in theDropObj
-------ここに本処理
end repeat
end tell
end open
↑のスクリプト
「on_run.scpt.zip」をダウンロード
| 固定リンク
「AppleScriptDroplet」カテゴリの記事
- [AppleScript]ドロップレットの作法を考える その6 (ドロップレットを途中終了させる)(2013.01.14)
- [AppleScript]ドロップレットの作法を考える その5 (エイリアスの処理に悩む)(2013.01.08)
- [AppleScript]ドロップレットの作法を考える その4 (ドロップされたファイルはエイリアスか?)(2013.01.06)
- [AppleScripts]ドロップレットの作法を考える その3 エラーログを作成する(2013.01.06)
- [AppleScripts]ドロップレットの作法を考える その2 on error(2013.01.06)