AppleScript-保存のフォーマット
このコンテンツは2011-5-30(OSX10.6時点)に書いたものを転載しています
いろいろとAppleScriptを書いていると、よく使うものは使い回したくなってくるものです。
私はある程度のカテゴリーに分けて保存し、それを読み込んで使うようにしています。
で、いまちょっとライブラリを整理していて、ついでにGit、diff、findとかでちゃんと引っかかるようにしたい。しかもXCode4.0ではGitが標準で使えるとのことなので。ということでライブラリを整理しながら、全部テキスト形式に替えてみようかと試してみました。
AppleScript-テキストで保存したスクリプトはload script出来ないようだ
じつは前回のAppleScript-保存のフォーマットは、この伏線です。
察しあたり保存フォーマットをテキストにしたものを、loadしてみてもエラーになって読み込まれません。
確認してみると、どうやらテキストで保存した物は読み込まれないようです・・・。
読み込まれるもの読み込まれないものを試す為に保存のフォーマットをおさらいしたのが前回という訳です。
いろいろなフォーマットで保存したものをとにかく取り込んで試してみた訳ですが、確認には以下のようにしました。
確認用コード
set LibFolerPath to "MacHD:AppleScript:ASLibrary:load_script:"
set LibFileNameList to {}
set end of LibFileNameList to "LoadedScript_Compiled_Bundle.scptd"
set end of LibFileNameList to "LoadedScript_Compiled_Datafork.scpt"
set end of LibFileNameList to "LoadedScript_Compiled_ResourceFork.scpt"
set end of LibFileNameList to "LoadedScript_Application_Bundle.app"
set end of LibFileNameList to "LoadedScript_Application_Carbon.app"
set end of LibFileNameList to "LoadedScript_text.applescript"
set end of LibFileNameList to "ASEditer-text.applescript"
repeat with LibFileName in LibFileNameList
set LoadScriptPath to LibFolerPath & LibFileName
try
set LoadScript to load script file LoadScriptPath
on error errmsg number ErrNum
log errmsg & "(" & ErrNum & ")"
end try
end repeat
load script file "MacHD:AppleScript:ASLibrary:load_script:LoadedScript_Compiled_Bundle.scptd"
--> set ScriptType to "Bundle"
load script file "MacHD:AppleScript:ASLibrary:load_script:LoadedScript_Compiled_Datafork.scpt"
--> set ScriptType to "Text"
load script file "MacHD:AppleScript:ASLibrary:load_script:LoadedScript_Compiled_ResourceFork.scpt"
--> set ScriptType to "ResourceFork"
load script file "MacHD:AppleScript:ASLibrary:load_script:LoadedScript_Application_Bundle.app"
--> set ScriptType to "ResourceFork"
load script file "MacHD:AppleScript:ASLibrary:load_script:LoadedScript_Application_Carbon.app"
--> set ScriptType to "ResourceFork"
load script file "MacHD:AppleScript:ASLibrary:load_script:LoadedScript_text.applescript"
(*Script doesn’t seem to belong to AppleScript.(-1752)*)
load script file "MacHD:AppleScript:ASLibrary:load_script:ASEditer-text.applescript"
(*Script doesn’t seem to belong to AppleScript.(-1752)*)
Script Debuggerだとテキスト保存はBOM付きの UTF-8でAppleScriptエディターだとMacRomanなので一応両方試してみたのですが、やっぱりテキストはダメみたいです。
ということはGitが使えない・・・。
テキストで読み込んで Runしてという事も考えたのですが、中には試し用のコードも書いてあったりするので、それが動いてしまうのは何ともはやなので、この案は没です。
そこで、ふと思うのはXCodeでライブラリ管理用にプロジェクトを作って、ライブラリの修正時にはこれをコンパイル。で、出来上がったソースを読み込むようにするというもの。
これならXCode内でのGitも検索や置き換えにも使えるし、ライブラリのXcodeでの使用の試しも組み込めます。
新しいXCodeって有料になったのですよね。
落ち着いたら早速試してみます。
ですが差し当たりコンパイルしたスクリプトに戻さなくては。
AppleScript-保存のフォーマット-01 |
AppleScript |
AppleScriptのSystem Eventsでアプリケーション操作-01 |