一部の本Blog愛読者の方々から「アーカイブ本まだ?」と言っていただいて気にはしておりました。ここに、Blogアーカイブ本のVol.5(2013〜2014年)の発売をお知らせいたします。
本Blog「AppleScriptの穴」は、開設10年目を迎える直前の2018年1月末に、格安ホスティングサービス「Xserver」との間の手違いでDBがシャットダウンされ、そのままの形で公開し続けることができなくなってしまいました。
そこで、AppleScriptのプログラムによるFinder上のAppleScriptの自動HTML化、AppleScriptによるXML-RPC経由でのWordPressへの自動記事投入といったさまざまなソリューションを投下して、現在の登録記事数に復旧。自動記事投入による復旧を行なったために、当時の作業環境でオープンできない(OSバージョン依存、アプリケーション依存)Scriptについては掲載を見送っています。
旧AppleScriptの穴:2008〜2018年 Mac OS X 10.4〜10.5の時代に開設
現AppleScriptの穴:2018年〜 Cocoa APIを呼びまくる現在のスタイルが定着
自動投入可能なコンテンツを優先して掲載したため、旧Blogと現Blogでは掲載内容が大幅に変わっています。別物といってよいでしょう。
そのため、Cocoa APIを使用しない「オールドスタイルのAppleScript」(とくに昔のバージョンのアプリケーション依存)については再掲載が難しく、このBlogアーカイブ本シリーズにしか情報をまとめていません。
旧Blogアーカイブ本シリーズも、1年ごとに区切って記事をPDF化して5冊目。この頃の記事投稿数が少なかったので、Vol.5は2013年1〜2014年12月の2年分の内容をまとめています。全429ページ、2,000円。
ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。本文からリンクしているXcodeプロジェクトのダウンロードリンクも新たに現行Blogにアップロードしたアーカイブにリンクし直しています。
もちろん、各プログラムリスト末尾にURLリンクをそなえ、ワンクリックでプログラム内容をスクリプトエディタに転送可能です。
ほとんどの掲載プログラムについてコメントを行い、現時点(2020年時点)で評価してどうか、ということを追記しています。
AppleScriptの穴Blogアーカイブvol.5
AppleScriptObjCでViewを印刷
AppleScriptObjCで透明ウィンドウを表示
Bundle IDで指定したアプリの非同期起動
指定プロセスの死活判定
最前面のアプリケーションをいったん終了させてから起動
指定プロセスの死活判定 v2
複数のピリオドが入る数字の文字列を数値として解釈して返す
与えられたICC Profileの名称リストからもっともバージョンの新しい(大きい)数字を持つものを返す
システムにインストールされているICC Profileのうち、指定キーワードに該当する名前を持つものでバージョン番号が最新のものを返す v2
Photoshopのsave optionをテキストで指定して反映させるテスト
AppleScriptObjCでボタンの文字色を変更
Xcode 4.6でAppleScript用語辞書の若干の間引きを
USBメモリやネットワーク上のサーバーなどをアンマウント
AppleScriptObjCでボタンを動的に生成
AppleScriptObjCでボタンを動的に生成(横に複数作成)
miで文字置換
AppleScriptObjCでMyriad Helpersの三角関数を使ってWindowを円運動
AppleScriptObjCとメモリ管理
AppleScriptObjCでPDFViewを使ってPDFをプレビュー(3)
ログファイルから時間帯ごとの度数分布を計算
指定のコード体系の全パターンのコードを生成 v1
指定のコード体系の全パターンのコードを生成 v2
指定のコード体系の全パターンのコードを生成 v3
指定のコード体系の全パターンのコードを生成 v4
指定のコード体系の全パターンのコードを生成 v5
リストを任意のデリミタ付きでテキストに v2
特定の語句を含むMail.appのフォルダ(mailbox)を抽出してフルパスを文字列化
現在表示中のCanvasに存在しているラインのうち青いものに影を付ける
miで選択中の内容をファイルに書き出してperlのプログラムとしてterminalで実行
miで選択中の内容をファイルに書き出してperlのプログラムとしてterminalで実行 v2
文字入力モードを制御
iTunesのMobileアプリをコピーしてすべて展開する
Find same file name with different extension
AppleのAppleScript関連ドキュメントの個人的な翻訳サイト
インストールされているアプリのAS辞書を書き出すv2
Mailで選択中のmessageの親フォルダのフルパスを文字で取得する
指定フォルダ中のファイル名が拡張子を外すと衝突するかどうかチェック
AppleのiBookstoreが日本国内向けにコンテンツ販売を開始
Safariで指定可能なユーザーエージェントのリストを返す
Safari 6で指定のURLをオープンする
Safariで指定User Agentで指定URLをオープン
共通項目をキーにしてリスト内の項目を統合する v2
アプリケーションのクラッシュレポートダイアログの表示切り換え
入れ子のリストの昇順、降順ソート(超高速版)
IPアドレスがプライベートIPアドレスかどうかチェック
OS X 10.8のdateに強烈なバグ
1Dリスト中のシーケンシャルサーチ
1Dリストのスイープ
自然言語による相対日付指定v14
CSVデータを読み込んでリスト化
SafariでRadiko選局を行う 10.6.8+5.1.8版
SafariでRadikoの選局を行う v2
開始日と終了日の間を、指定日数単位で切った{開始日,終了日}のリストの日付文字列リストを返す
手作りのノンブルが作ってあるPowerPoint書類に対して、座標位置(一番左側に寄せてある)を手がかりにフレームを取得してリナンバリング
0〜255の8ビットの値から構成されるRGB値のリストの色をプレビューする
Photoshop CS6でRGB→LAB、LAB→RGB変換
0〜255の8ビットの値から構成されるRGB値のリストの色をプレビューする
PowerPointで、オブジェクトの外側の線の色を、水色から青に変更
Photoshop CS6でRGB→LAB、LAB→RGB変換
Photoshop CS6でRGB→HSB、HSB→RGB変換
Photoshop CS6でRGB→RGB Hex、RGB Hex→RGB変換
Photoshopでオープン中の画像をグレースケール→白黒2値の画像にモードを変換する
Safariでオープン中のファイルを別途ダウンロードv2
Photoshop上で選択範囲を指定色(RGB)で塗りつぶす
AppleScriptの処理中断
PDFのページ数を数える
EPSファイルの破損チェック(高速版)
プレビュー.appをAppleScriptから操作
国民の祝日を求める v4
AppleriptObjCベースのCocoaアプリケーションのSandbox化は可能か?
入り組んだリストの中に指定要素が存在するかどうかをチェック
Mail.appのメールボックスオブジェクトを渡すと、テキストのフルパスに変換 v1
Mail.appの指定メールボックス内に任意のメールボックスを新規作成 v2
OmniOutlinerで選択中の行の内容のうち指定列のデータをすべて取得
リストをテキストに
指定の文字エンコーディングでテキストをファイルに保存
ASObjCExtrasでファイルの情報を取得
ASObjCExtrasで1Dリスト中の合計値、最大値、最小値を求める
ASObjCExtrasで1D List中のヌル要素を削除
ASObjCExtrasで1D List中のmissing valueを置換
ASObjCExtrasで2DのListをフラット化(1D List化)
OS X 10.10 Yosemite のAppleScript関連バグまとめ
2Dリストで最長の要素に満たない個数の要素は後ろに埋め草を追加
2D Listの各要素に指定の1Dリストの内容をインサートする
指定ファイルからサイズ情報を取得
ドロップレットのデバッグ方法
Finder Windowを円運動 v2
list同士のdiffをとる(asoc)
listの共通項を返す(asoc)
1D Listのユニーク化(asoc) 処理内容比較
asocで文字置換
2D Listを1D Listに変換
レコードの操作
レコードのリストをソート(asoc)
レコードのリストから抽出(asoc)
リストから抽出(asoc)
レコードのリストから抽出(別リストに該当するもののみ)
Keynote 6.5で各スライドのタイトル、マスタースライド名を取得してデータ化
1D Listを文字列長でソート
2D Listを文字列長でソート
1D Listを文字列長でソート v2
10.10でプリンタを選択して印刷
10.10でプリンタの情報を取得する
無限次元リストのフラット化
2D Listを文字列長でソート
1D Listの内容すべてに指定数値を加算
画像の特定のピクセルの色を取得
画像中の色数をカウント
指定アプリケーションがフルスクリーン状態かどうか調べる
NSNumberFormatterのテスト
as integerの落とし穴
数値の桁数を求める
同一パターンの連番文字列の作成
1Dリスト中の複数指定アイテムの出現位置をリストで返す
CoreImageでフィルタしまくり
Bluetoothに接続中のデバイス名を取得するv2
NSSoundで音声を再生
バージョン番号文字列からメジャーバージョンを求める
バージョン番号文字列からメジャーバージョンを求める v2v3
指定AppleScriptをしらべたり実行したりする
指定ロケールの月名、曜日名を取得する
AppleScriptでJavaScriptを実行する
SafariのWebViewのGUI Scripting的な参照を取得する
アプリケーションのローカライズ分布を取得する
アプリケーションのローカライズ分布を取得するv2
アプリケーションのローカライズ分布を取得する v4
アプリケーションのローカライズ分布を取得する v5
アプリケーションごとのローカライズ言語数を求める
オーディオファイルのチャンネル数と再生時間を取得する
aListのうち、bListに入っていない項目を返す
PDFをページごとに分解する
文字エンコーディングを自動判別してテキストファイル読み込み v1
文字エンコーディングを自動判別してテキストファイル読み込み v2