>全てのファイルが一気に開いてしまいました。
open theFile
としているだけですので、閉じていません。
例えば
tell application "TextEdit"
open theFile
-- 何かの処理
close saving yes
end tell
のように閉じてやらないといけません。
それと、AppleScriptは対象とするアプリケーション独自の癖がありますので、「AppleScript Excel」でインターネットで検索するのが早いと思います。
AppleScriptエディタの「用語説明を開く」で見るのが一番ですが、慣れるまではなかなか理解できないと思います。結局はインターネットでの検索が結構役に立ちます。
最近のAppleScriptはテキスト処理が鬼門で、プレーンテキストでの処理ではなく、フォント情報を含んだ処理になっています。
if theString is ""
と書いても思うように動かないことがあります。プレーンテキストに変換してやらないといけないようですが、そのあたりの詳しいことは検索すれば出てきます。
私自身の使い方としては、AppleScriptは最小限しか使わないとふうにしています。
shellからosascript命令でAppleScriptを実行できますので、どうしても対象とするアプリケーション(この場合はExcel)だけでしかできないことだけをosascriptで実行することが多いです。
shellスクリプトは結構大変なので、実際にはRubyで書き必要なところだけをshell経由でAppleScriptを実行することが多いです。
フォルダ内のファイルの拡張子の一致したファイルをTextEditで開く例です。
拡張子とtell application "TextEdit"をMicrosoft Excelに変更するとファイルを開くようになるはずです。
このあたりも参考に
http://support.microsoft.com/kb/184440/ja
tell application "Finder"
set filesInFolder to files in (choose folder)
repeat with theFile in filesInFolder
if name extension of theFile is "txt" then -- 拡張子を指定
tell application "TextEdit"
open theFile
end tell
end if
end repeat
end tell
お礼
ご回答ありがとうございます!お礼が遅くなってすいません。 >AppleScriptは最小限しか使わないとふうにしています。 2段階にするというのは、全然考えていなかったので、目からうろこでした! 本当にありがとうございます。