ごく一部の愛読者の皆様からのご要望を受け、2018年1月のBlog消滅以前の内容を1年ごとにまとめた「Blogアーカイブ本」のVol.1を販売開始しました。Vol.1は2008年3〜12月の内容をまとめています。全418ページ、2,000円。ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。
2014年以前の巻については、Cocoaの機能をほとんど使っていないので、Cocoa Scriptingについてはわからないとか、Cocoa Scriptingになじめない方には「Cocoaを使わないやりかた」が説明されている、現時点では数少ないまとまった参考文献になるはずです。
続刊刊行スケジュールについては、「できた分から」としか言いようがありませんが、各巻のボリュームについては、
vol.2:2009/1〜12(仮組みページ数:332)
vol.3:2010/1〜12(仮組みページ数:247)
vol.4:2011/1〜2012/12(仮組みページ数:372)
vol.5:2013/1〜2014/12(仮組みページ数:276)
vol.6:2015/1〜12(仮組みページ数:320)
といったところです。価格は一律2,000円です。当初は日本語版だけですが、英語版も出せるといいですね。Vol.5/6については、Cocoa Scriptingがわからないと手が出しづらいので、Cooca Scriptingの入門資料を添付することも検討中です。
■Vol.1 掲載AppleScript(全262本)
5桁の乱数を生成
指定アプリの存在確認
BSDサブシステムの存在確認
リストから重複部分を除外(ユニーク化)
春分の日と秋分の日を求める
自分の(インターネットアクセス時の)IPアドレスを調べる
起動中のアプリのうちScriptableなものをリストにして選択
起動ディスクの空き容量を返す
リストの内容を乱数でシャッフル
CPUのクロック数だけを求める
与えられたリストから、値がヌルの要素を削除して返す
最小値を取得する1
最小値を取得する2
最小値を取得する3
文字列中の最長Wordを返す
リストをテキストに
リストのスイープ
Automator集計
chooseFromListでアイテム番号を返す
OSのバージョンを求める
リストを任意のデリミタ付きでテキストに
文字列のアルファベットチェック
拡張子を取得する
日本語URL Encoding
指定年月の長さを求める
指定文字を置換(リプレース)
国民の祝日を求める
時分秒をシステム設定と関係なく一律に取得
プロセス名一覧を取得
指定フォルダまで強制的に作成
指数表示数値を文字列化
Safariの選択部分のテキストを取得する
各種情報取得
デフォルトの出力先のプリンタ名称(キュー名称?)を取得
リストをタブ区切りのテキストに変換
MacのハードウェアのシリアルNoを取得
BluetoothのOn、Off
リスト中の指定要素をサーチして削除して返す
ACで動いているかDCで動いているかを取得する
指定クリエータのアプリケーションの情報を返す
最前面のFinderウィンドウのアイコンサイズを取得する
リスト中の全要素が同じかどうかをbooleanで返す
指定矩形内に含まれるデータをリストで返す
URLエンコードされたファイルパスを元のテキスト(POSIX Path)に戻す
Desktop Windowの大きさを取得してメインモニタの大きさを得る
RSS用のRFC822形式の日付を返すv2
OSのバージョンを求める5
ユーザー名をLong Formatで取得する2
リスト内のアイテムへの項目追加
リスト項目の並べ替え
指定のiDiskをマウントする
OSのバージョンの2桁目(メジャーバージョン)を取得
イベント継承実験1
文字列中のピリオドの個数を数える
ISO形式の日付をdateオブジェクトに
twitter.comの更新
Zipでフォルダ構造ごと圧縮
指定キーワードの出現回数のカウント
System UI Soundが有効になっているかどうかをチェック
指定桁でゼロパディングしたファイル名を返す
set the beginning of
データのhexダンプ_v2
entire contentsをalias listで取得する
10.4.9〜10.4.11でバージョンが10.4.9と返ってくるバグを回避するOSバージョンの取得方法
今日の日付をYYYYMMDDで求める
指定文字列を指定バイト数以内に収める
画面のサイズを取得するらしい
リストのCSV書き出し
list sort
インターネット接続確認
ファイルの各種情報を取得する
指定の文字エンコーディングでファイル書き出し
1月分のワークログ作成(祝日反映版)
1月分のワークログ作成(iCal連携Ver)
Omni Outlinerでドキュメントの全行削除
クリップボード中のテキストから、行単位にトピック作成
最前面のOmniOutliner書類をDHTMLでデスクトップにExport
Terminalで同じパスの画面をもう1枚ひらく
ターミナルのcurrentをFinderでひらく
Finderの最前面のパスをTerminalで開く(強化ver4)
iPhotoで選択中の写真をデスクトップピクチャに設定
Finderで作成したZipアーカイブを展開してオリジナルのアーカイブを削除する
指定ファイルがTIFFで128×128であれば、icnsファイルに変換する
10進数をn進数文字列に変換する
自分用のtempoary folderをtmporary items foder(user domain)に作成する
指定のAutomator Workflowのファイルを実行する
File Busyが解除になるのを待つ
指定プロセスの可視_不可視切り替え
文字列の前後から別々の文字を指定してトリミング
Menu Xtraに入っているアイテムの一覧を取得する
再帰でファイルをカウント
parseByDelim:指定デリミタで文字列をリストに変換
OSバージョンの各桁を求める
警告を出しつつ再起動
時間フォーマットをhh-mm-ssからsに変更
GUI Scriptingをenableに
GUI Scriptingをdisableに
ワイヤレスキーボードのバッテリ残量を得る
指定フォルダ内に指定ファイルが存在するかどうかをチェック
OSのバージョンを求める2
OSのバージョンを求める3
OSのバージョンを求める4
OSのバージョンとビルドNoを求める
対象文字列の中で、特定の文字以降を取得
Front Rowが実行中かどうかを調べる
iCalでReadOnlyではないカレンダーの番号を取得
指定のタグを外す
数字の間に入っているゴミを除去
アルファベットを大文字 or 小文字に変換する
アルファベットの大文字か小文字かを検出する
電池容量を取得
iTunesでどこのIPからライブラリを共有されているかを検出
印刷可能なプリンタ一覧から選択してプリント実行
指定のAutomator Workflowのファイルを実行するv2
Dockの制御
Skypeのバージョンを求める
Skypeで接続状態を取得する
Skypeで指定IDの人に音声コール
Skypeでチャットメッセージを送信
Skypeで最近のチャットメッセージをリストアップ
Skypeでユーザー権限を取得
Skypeでフレンズを検索
Skypeでセルフテスト
Skypeでオンライン中の人間の数を取得する
Skypeでオーディオ出力設定を取得
SkypeでUser Statusを求める
SkypeでStatusを変更
SkypeでP-STNの状態を得る
Skypeでauthentication待ちのユーザーをリストアップ
Google Earthで現在表示中の画面のスクリーンショットを撮るv1
Google Earthでバージョン情報を取得
日本語入りテキストのURLエンコーディング
Systranで翻訳
Mail.appでAccountの情報を取得する
Mail.appで新着メールを確認する
Mail.appで新着メールの確認インタバルを変更する
Mail.appで選択中のメッセージから迷惑メールフラグの状態を取得する
添付ファイルのダウンロード先を求める
選択中のメッセージの実ファイルが存在する場所を取得するv3
URL Access ScriptingでDL
GUI Scriptingの確認
JPEG画像の破損チェック
Safariの選択部分のテキストを取得する
SafariでオープンしているWindowをすべてクローズする
指定文字列の中に指定リストの各アイテムが含まれているかをチェック
rmコマンドで指定フォルダ内のファイルの強制削除
modemでダイヤルする
modemでダイヤルする2
エイリアスをDockに追加する
入り組んだリストの中に指定要素が存在するかどうかをチェック
指定の名称およびバージョンに該当するアプリケーションプロセスが起動しているかどうかをチェック
Database Eventsでパスを指定してDBを作成する
Database Eventsを終了する
Database EventsのQuit Delayを指定
Database Eventsで、すべてのDBをクローズして終了
Database Eventsで、既存のDBを指定してオープンする
Database Eventsを起動して、オープン中のDBを数える
画像の縦長横長を見てフォルダ仕分け
リストをレコードに
レコードから特定要素を取り出し
Safariのウィンドウを画面いっぱいに拡大する
スクリプトエディタ上のキャレットがある行に、ファイル名をコメントで展開
指定文字列の中に指定リストの並びが含まれているかをチェック。含まれていたら起点のアイテム番号を、ない場合にはfalseを返す
指定文字列の中に指定リストの並びが含まれているかをチェック。含まれていたら起点のアイテム番号を、ない場合にはfalseを返す v2
テキストから余計な空白行を削除する
リストを任意のデリミタ付きでテキストにv2
画面スナップショットのファイル形式を変更
Acrobat Professionalでしおりを作成(文字化け)
Pagesの最前面のドキュメントを閉じてラベルを付ける
Acrobat Professionalでしおりを数える
Acrobat Professionalでしおりを全消去
Acrobat Professionalで指定ページに移動
フォルダ同士の内容比較
ファイルのMac OS形式のフルパスのテキストから、ファイル名のみを取得
バージョン番号文字列からメジャーバージョンのみ取り出し
クリエーターコードを指定してアプリケーションを起動する
QuickTime Playerで録音を開始する
QuickTime Playerで録画を開始する
ヨドバシ.comのWebの画面に表示されている200×200ピクセル以上の画像をダウンロードする v2
指定アプリのメインウィンドウのサイズを返す
指定フォルダ内の指定ファイルを削除
真偽値の反転
指定のディスクイメージが暗号化されているかどうかを判定する
ファイルのコピーをshell scriptで実行
uuidgenでユニークな(重複のない)文字列を取得
アクティブウィンドウのアクティブセルの値を取得
現在の列のセル幅を変更する
現在の行のセルの高さを変更する
空のplistファイルを指定パスに作成する
空のplistファイルを指定パスに作成するv2
PDFのページ数を数える
dateコマンドから生成した日付テキストから、ASのdateオブジェクトを生成する
active cellが属するentire rowを取得する
Unionコマンドで複数の範囲を同時に使う
条件を指定してセルを抽出する
指定セルの値を取得/設定する
セルの文字列を取得する
Bubble Sortでリストをソートする
Insertion Sortでリストをソートする
挿入ソートを入れ子のリストに対して行う(ソートキー項目指定つき)
シェルソート
shell sortで入れ子のリストをソート
奇数かどうかチェック
曜日リストの並び順をチェック
曜日リストの並び順をチェック v2
iCalに「日本の祝日」を追加
MindManagerで、ルートトピックを選択状態にする
Excelで、バージョンに依存しないで選択範囲のデータ取得
指定の数値リストを作成する
データが数値かどうか調べる
カレンダーのインクリメント/デクリメント
ポップアップメニュー項目の高速生成
MACアドレスを取得する(Mac OS X 10.5のバグ回避版)
指定日に在任中の内閣総理大臣の氏名を取得
数値テキストに対して指定桁ごとにセパレータ文字を入れる
リストから選択してアイテム番号を返す
リスト中の複数の指定要素を削除して返す
1年分のカレンダーリストを作成
1年分のカレンダーリストを作成して指定日が何週目かを求める v1
1年分のカレンダーリストを作成して指定日が何週目かを求める v2
1年分のカレンダーリストを作成して指定日が何週目かを求める v2.1
DragThingで表示しているDock名称を取得する
DragThingの特定のDock中で現在選択中のレイヤーを求める
DragThingで、最前面のDock上で現在選択されているレイヤーの名称を返す
リストの一部を取り出す
デスクトップ上のピクチャファイルを指定フォルダに移動
Keynoteでslideの情報を取得する
10.5で(登録してある)プリンタ名称の一覧を取得するv1
10.5で(登録してある)プリンタ名称の一覧を取得するv3
ColorSync Scriptingで各種情報を取得
アドレスブックで所有者の情報を取得する
アドレスブックで選択中のPersonの情報を取得する
FM v7〜9で、オープン中のデータベースを数える
オープン中のデータベースの中にあるテーブル数を数える
オープン中のデータベース中のテーブル1にあるフィールドを数える
オープン中のデータベースのレイアウト(画面)を数える
オープン中のデータベースのレイアウトの名称を取得する
オープン中のデータベースで条件検索(複数条件)
オープン中のデータベースでソート
Microsoft Office 2008用の「VBAからAppleScriptへの移行支援ガイド」が公開
10.5で暗黙のキャストが行われなくなった例(getMLen)
OmniPlanでWindowの情報を取得する
OmniPlanでドキュメント内のプロジェクトを数える
リストの重複項目を除去、リスト2つ同時バージョン
Excel v.Xで新規ドキュメントを作成して任意のワークシートを作成
Excel v.2004/2008でウィンドウの最大化
Excel v.Xで最前面のウィンドウを最大化する
Excel v.2008でウィンドウ枠の分割を固定
International Settingsの言語で第一優先になっているものを取得
指定フォルダにあるテキストとZipアーカイブのリストを取得。エイリアスで v0
指定フォルダにあるテキストとzipアーカイブのリストを取得。エイリアスで v1
指定フォルダにあるテキストとzipアーカイブのリストを取得。エイリアスで v2
度数分布のテキスト出力
指定フォルダにある特定のラベル(複数)のファイルのリストを取得。エイリアスで
MindManagerで、ルートトピック以外のトピックをすべて取得
指定フォルダにある特定の書類種別(複数)のファイルのリストを取得。エイリアスで
特定の文字ではじまるリスト要素を削除して返す
与えられたURLからファイル名を取り出す
単純ダウンロード
クリップボードに入っているURLのファイルをダウンロード
POSIX pathからクォート記号を除去する(unquote)
ファイル名から拡張子を外す