「AppleScript」の版間の差分

提供: MacWiki
移動: 案内検索
(AppleScript (アップルスクリプト) とは?)
行11: 行11:
 
*[https://developer.apple.com/library/mac/technotes/tn2065/_index.html#//apple_ref/doc/uid/DTS10003093 TN2065: do shell script in AppleScript] - Mac OS X Developer Library (Technical Notes)
 
*[https://developer.apple.com/library/mac/technotes/tn2065/_index.html#//apple_ref/doc/uid/DTS10003093 TN2065: do shell script in AppleScript] - Mac OS X Developer Library (Technical Notes)
 
*[https://developer.apple.com/library/mac/technotes/tn2084/_index.html#//apple_ref/doc/uid/DTS10004052 TN2084: Using AppleScript Scripts in Cocoa Applications] - Mac OS X Developer Library (Technical Notes)
 
*[https://developer.apple.com/library/mac/technotes/tn2084/_index.html#//apple_ref/doc/uid/DTS10004052 TN2084: Using AppleScript Scripts in Cocoa Applications] - Mac OS X Developer Library (Technical Notes)
*http://www.apple.com/jp/macosx/features/applescript/ (リンク切れ)
 
*http://docs.info.apple.com/help/guide.html?path=AppleScript/2.1/jp/ (リンク切れ)
 
*http://developer.apple.com/technicalnotes/AppleScript/ (リンク切れ)
 
 
*[https://developer.apple.com/library/mac/search/?q=AppleScript Search Results: AppleScript] - Mac OS X Developer Library
 
*[https://developer.apple.com/library/mac/search/?q=AppleScript Search Results: AppleScript] - Mac OS X Developer Library
  

2012年7月2日 (月) 00:59時点における版

AppleScript (アップルスクリプト) とは?

旧Mac OS (Mac OS 7) 時代から現在の Mac OS X まで標準搭載されているスクリプト言語です。 AppleScript 本体だけでなく、さまざまな AppleScript 対応アプリケーションを同じ言語で操縦することができます。 言語の仕様としては、自然英語に近い構文を採用しているのが特徴です。 詳しくは Wikipedia:AppleScript などを参照してください。

AppleScript のプログラミングで困ったときは Apple サポートコミュニティなどで質問するといいかもしれません。

基本

  • AppleScript入門教室 (掌田 津耶乃さん)

http://homepage.mac.com/tuyano/AppleScriptTutor/index.html

  • Script factory による入門記事

http://homepage.mac.com/tkurita/scriptfactory/introduction/index.html

  • 鳶嶋工房 による Mac OS XのAppleScript入門

http://tonbi.jp/AppleScript/Introduction/

  • AS Hole(AppleScriptの穴)のBEGINNERS

http://piyocast.com/as/master/

基本データ型

  • リスト

リストは複数のデータを「,」区切りで順番に並べたもので、{}で囲んで1つにまとめたもの。

{1984, "Apple", "Macintosh"}
  • レコード

レコードはリストの場合と同様にデータを「,」区切りで並べたものだが、それぞれの頭に:で区切られて重複しないラベルが付けられている。as listなどとすると、ラベルを省いたリストになる。

{elem:"carbon", sym:"C", num:12}

標準名のフォルダ類

path to 〜という書き方で、標準フォルダやアプリケーションのパスを表現することができます。標準フォルダ名には以下のようなものがあります。標準フォルダ名のいくつかは「何々 folder」のように folder を付加してもいいです。例えば、application support の代わりに application support folder、desktop の代わりに desktop folder などと書けるということです。表に示したパスは from 何々 domain を付けないデフォルトの場合のものです。

標準フォルダ
標準のフォルダ名 path to フォルダ名 as string 説明
POSIX path of (path to フォルダ名)
application support "Macintosh HD:Library:Application Support:" アプリケーションサポート
"/Library/Application Support/"
applications folder "Macintosh HD:Applications:" アプリケーションフォルダ
"/Applications/"
current application "Macintosh HD:System:Library:CoreServices:AppleScript Runner.app:" スクリプトを実行しているアプリケーション?,このパスはスクリプトをスクリプトメニューから実行した場合
"/System/Library/CoreServices/AppleScript Runner.app/"
current user folder "Macintosh HD:Users:username:" 現在ログイン中のユーザフォルダ
"/Users/username/"
desktop "Macintosh HD:Users:username:Desktop:" デスクトップ
"/Users/username/Desktop/"
desktop pictures folder "Macintosh HD:Library:Desktop Pictures:" デスクトップピクチャ・フォルダ
"/Library/Desktop Pictures/"
documents folder "Macintosh HD:Users:username:Documents:" 書類フォルダ
"/Users/username/Documents/"
downloads folder "Macintosh HD:Users:username:Downloads:" ダウンロードフォルダ
"/Users/username/Downloads/"
favorites folder "Macintosh HD:Users:username:Library:Favorites:" よく使う項目フォルダ
"/Users/username/Library/Favorites/"
Folder Action scripts "Macintosh HD:Users:username:Library:Scripts:Folder Action Scripts:" フォルダアクションスクリプト
"/Users/username/Library/Scripts/Folder Action Scripts/"
fonts "Macintosh HD:System:Library:Fonts:" フォント
"/System/Library/Fonts/"
frontmost application "Macintosh HD:System:Library:CoreServices:Finder.app:" 最前面のアプリケーション,このパスはFinderを最前面にして実行した場合
"/System/Library/CoreServices/Finder.app/"
help folder "Macintosh HD:Library:Documentation:Help:" ヘルプフォルダ
"/Library/Documentation/Help/"
home folder "Macintosh HD:Users:username:" ホームフォルダ
"/Users/username/"
keychain folder "Macintosh HD:Users:username:Library:Keychains:" キーチェーンフォルダ
"/Users/username/Library/Keychains/"
library folder "Macintosh HD:Library:" ライブラリフォルダ
"/Library/"
modem scripts "Macintosh HD:System:Library:Modem Scripts:" モデムスクリプト
"/System/Library/Modem Scripts/"
movies folder "Macintosh HD:Users:username:Movies:" ムービーフォルダ
"/Users/username/Movies/"
music folder "Macintosh HD:Users:username:Music:" ミュージックフォルダ
"/Users/username/Music/"
pictures folder "Macintosh HD:Users:username:Pictures:" ピクチャフォルダ
"/Users/username/Pictures/"
preferences "Macintosh HD:Users:username:Library:Preferences:" 環境設定
"/Users/username/Library/Preferences/"
printer descriptions "Macintosh HD:System:Library:Printers:PPDs:" プリンタ記述
"/System/Library/Printers/PPDs/"
public folder "Macintosh HD:Users:username:Public:" パブリックフォルダ
"/Users/username/Public/"
scripting additions "Macintosh HD:System:Library:ScriptingAdditions:" スクリプティング機能追加
"/System/Library/ScriptingAdditions/"
scripts folder "Macintosh HD:Users:username:Library:Scripts:" スクリプトフォルダ
"/Users/username/Library/Scripts/"
shared documents folder "Macintosh HD:Users:Shared:" 共有書類フォルダ
"/Users/Shared/"
shared libraries "Macintosh HD:System:Library:CFMSupport:" 共有ライブラリ
"/System/Library/CFMSupport/"
sites folder "Macintosh HD:Users:username:Sites:" サイトフォルダ
"/Users/username/Sites/"
startup disk "Macintosh HD:" 起動ディスク,"/" になるのは変?
"/"
system folder "Macintosh HD:System:" システムフォルダ
"/System/"
system preferences "Macintosh HD:System:Library:PreferencePanes:" システム環境設定
"/System/Library/PreferencePanes/"
temporary items "Macintosh HD:private:var:folders:〜:TemporaryItems:" 暫定項目,〜の部分は環境によって変わる?
"/private/var/folders/〜/TemporaryItems/"
trash "Macintosh HD:Users:username:.Trash:" ゴミ箱
"/Users/username/.Trash/"
users folder "Macintosh HD:Users:" ユーザフォルダ
"/Users/"
utilities folder "Macintosh HD:Applications:Utilities:" ユーティリティフォルダ
"/Applications/Utilities/"
voices "Macintosh HD:System:Library:Speech:Voices:" 音声
"/System/Library/Speech/Voices/"

path to 標準フォルダ名という書き方を利用すると、その標準フォルダが存在しない場合にデフォルトでフォルダが作成されます。例えば、以下のようなコードをAppleScript エディタで実行すると、ユーザフォルダ内にアプリケーション(Applications)フォルダが作成されます。フォルダ生成しないようにするには without folder creation と付記すればいいです。

get POSIX path of (path to applications folder from user domain) -- フォルダ生成する
-- get POSIX path of (path to applications folder from user domain without folder creation) -- フォルダ生成しない

AppleScript エディタでの保存形式

  • テキスト

実行方法

(完成した)スクリプトを実行させるには各種の方法があります。

スクリプトにはダブルクリックなどするだけで実行されるものと、処理対象としてファイル類をドラッグ&ドロップするなど何らかの操作をまず行うことで実行されるものがある。

Droplet

Folder action

  • Mac OS X 10.6以降は,
    • "~/Library/Scripts/Folder Action Scripts/ ": スクリプトファイルを置く場所
    • "/System/Library/CoreServices/Folder Actions Setup.app" : 設定を行う.Finder上でフォルダを選択すると,サービスメニューに,この「Folder Actions Setup ...」が現れる.
  • Mac OS X 10.5以降は,
    • "/Library/Scripts/Folder Action Scripts/": スクリプトファイルを置く場所
    • "/Applications/AppleScript/Action Setup.app" : 設定を行う
    • "/System/Library/CoreServices/Folder Actions Dispatcher.app"  : 実行を司る
      • 動作が大きく遅延する場合もある.アクティビティモニタ上で遅延が見える場合もある.
      • 動いてくれない場合もあるそうです:http://d.hatena.ne.jp/Gururi/20071107

AppleScript Studio について

  • AppleScript Studio入門教室 (掌田 津耶乃さん)

http://homepage.mac.com/tuyano/X-AS-Tutor/index.html

  • Mac OS X開発の秘密兵器「AppleScript Studio」

http://pc.watch.impress.co.jp/docs/2003/0121/apple1.htm

  • ppmweb 公開されている AppleScript Studio ソースを探す

http://ppmweb.lolipop.jp/blog/development/finding-opened-applescript-studio-sources/

参考になるサイト

その他、次のようなサイトによくまとめられています。

アプリケーション毎のスクリプト

find:AppleScript で検索して下さい。

Finder など基本的なスクリプト

Adobe InDesign のスクリプト

DEVONthink のスクリプト

DragThing のスクリプト

DropDMG のスクリプト

Eudora のスクリプト

MathPad のスクリプト

Smile のスクリプト

XML-RPC や SOAP

AppleScript 一般

関連書籍

日本語の本

  • 掌田 津耶乃 (著)『AppleScript Studioでゼンマイびゅんびゅん!!』(アスキー, 2003/05/02, 2940円)
  • こばやし ゆたか (著)・AppleScriptリファレンス制作委員会 (著)『AppleScriptリファレンス』(ソフトバンクパブリッシング, 1999/12/26, 3990円)

英語の本

Wiki内の関連ページ