2023年に使用していたmacOS:macOS 13
毎年行なっている、Piyomaru Softwareが書いたAppleScriptの1年を振り返る記事の2023年版です。10年ほど続けてきた旧「AppleScriptの穴」Blogが2018年の年初にホスティング会社との行き違いでシャットダウンされ、再構築したのがこの現行の「AppleScriptの穴」Blogです。
→ 2018年に書いた価値あるAppleScript
→ 2019年に書いた価値あるAppleScript
→ 2020年に書いた価値あるAppleScript
→ 2021年に書いた価値あるAppleScript
→ 2022年に書いた価値あるAppleScript
旧「AppleScriptの穴」Blogの内容については、データベースから抜き出したデータをもとに再構成した「Blogアーカイブ本」にまとめています。
AppleScriptの穴Blogアーカイブvol.1
AppleScriptの穴Blogアーカイブvol.2
AppleScriptの穴Blogアーカイブvol.3
AppleScriptの穴Blogアーカイブvol.4
AppleScriptの穴Blogアーカイブvol.5
AppleScriptの穴Blogアーカイブvol.6
本Blogは、機械翻訳で翻訳しやすいように、平易な日本語で記述してある点がチャームポイントです。それはもう、小学生の日記ぐらいの難易度で。もともとは、2000年代初頭に開発していた「人工知能インタフェース Newt On」のソースコード部品バラバラにして掲載し、用いた部品を個別にメンテナンスすることを「隠れた目的」としていました。また、Scripter間のノウハウの共有を推進することも目的としています。
AppleScript以外の一般的なテーマの記事については、こちらにいろいろ投稿しています。
https://note.com/140software/
2023年的な状況といいますか、昨今のMac環境をとりまく状況として新バージョンのmacOSとしてmacOS 14がありつつも、Appleがマイナーアップデートで新たなバグを盛り込んでくるため、macOS 14に付き合うこと自体がリスクです。β版で確認を行なっても、Release版で安定度が激下がりして、その後にバグ改修と新機能追加が行われるため、つねにどこかにド派手な不具合を抱えているという状況です。
2023年にはそれほど発表できるようなAppleScriptを書いていない(=自分の作業を効率化するものしか書いていないので外部に発表のしようがない)のと、それほど技術レベルや解決策のレベルが上がったような内容のものはありません。
さまざまな技術的な内容をまとめた記事については、電子書籍に掲載したり、付録Scriptとして添付しています。年間19冊出しています。
ポケコンサークル「LL」会誌Vol.19復刻版(282ページ)
AppleScript基礎テクニック集(29)セキュリティ機能解除(36ページ)
AppleScript+Xcodeで作るMacアプリ(484ページ)
ChatGPTにAppleScriptを書かせてみた!(76ページ)
AppleScript基礎テクニック(30)コンテクストメニューScriptの作り方(41ページ)
AppleScript基礎テクニック(30)コンテクストメニューScriptの作り方 英語版(41ページ)
AppleScript基礎テクニック(31)スクリプトバンドルの活用(34ページ)
AppleScript 7つの宝珠(3)(35ページ)
Cocoa Scripting Course #5 NSImage(473ページ)
ゆっくりAppleScript解説(1)(45ページ)
ゆっくりAppleScript解説(2)(45ページ)
つたわる資料のつくりかた(66ページ)
Keynote Scripting Book With AppleScript(434ページ)
Cocoa Scripting Course #6 PDFKit(560ページ)
ゆっくりAppleScript解説(3)(42ページ)
AppleScript最新リファレンス v2.8(1008ページ)
AppleScript最新リファレンス v2.8英語版(223ページ)
戦場の絆〜僕らの15年戦争〜v2(394ページ)
Piyomaru Software電子書籍カタログ 2024冬(100ページ)
2023年に書いた記事の中で注目すべきもの
2023年に書いたものは、例年どおりの「価値あるAppleScript」と言うほどのものではなく、「2023年に書いた記事の中で注目すべきもの」をリストアップするという程度の内容になりそうです。
geoCodingLibで住所ジオコーディング
geoCodingLibで逆住所ジオコーディング
住所ジオコーディング(住所→緯度経度情報)/逆住所ジオコーディング(緯度経度情報→住所)は、AppleScriptで普通に実行できてほしい処理のひとつです。こうしてObjective-C/Swiftで書いたプログラムをFrameworkとして呼び出せるようにして呼び出すとか、いろいろ方法があるわけで……少なくとも、ローカルで処理が完結する解決策は用意しておきたいところです。
ChatGPTでchatに対する応答文を取得
AppleScriptからのChatGPTのREST API呼び出しは、かなり早期からできていました。処理したい内容のScriptをChatGPTに書かせて実行するといった「なげやり」な方法であれば、こうしたScriptの延長線上で可能ですが、あらかじめきちんと動くことを保証したScriptのパラメータ部分だけをLLMから取得するとか、複数のScriptを組み合わせて処理を実行させるといった内容を実現する方法を見つけたいところです。
Keynote,Pages,Numbers v13.0がリリースされる
Keynoteはいいアプリケーションだと思うものの、あまりバージョンアップしても機能が追加されないというか、実際に使っている人間からのフィードバックがさっぱりないというか、ユーザーと開発現場の距離が離れてしまっている感じがします。
他形式の3DデータをUSDZデータに変換するあたりのツールが充実する必要があるというか、Keynote側の読み込み機能がもう少し強化されてもよさそうな気もします。
出るか?「AppleScript最新リファレンス」のバージョン2.8対応版
この本は、発行するのに30冊以上も本を出す必要があり、数年かけて計画を実行して、ようやくアップデートにこぎつけました。最初の「AppleScript最新リファレンス」から7年が経過していることに驚かされます。
Excelの書類上に置かれているpictureが置かれているセルのアドレスを推定する v2
Microsoft Excelは依然としてAppleScript用語辞書が大きなアプリケーションではあるのですが、Excelの機能が強力すぎる(表現力が豊かすぎる)ために、目的の処理を行うためにはなかなか一筋縄では行かないようです。
PowerPointを操作するAppleScriptをScript Menuに入れて実行すると動作が完結しない問題
PowerPointにかぎらず、Microsoft OfficeアプリのAppleScript用語辞書が、より詳細な記述を行なっているところに懸念をおぼえます。こんなに細かく書かないとダメなのだろうかと。敷居が高くなりすぎていないかと。あと、Script MenuにPowerPointを操作するAppleScriptを入れて実行すると動かないというのは、ランタイム環境が強く限定され、こんにちのmacOS環境の中で標準レベルといえるScript Menuで動かないのは、よくないと考えます。
Cocoa-AppleScript Appletランタイムが動かない?
macOS 12.xのマイナーバージョンアップ時に機能が損なわれた箇所です。そして、Appleにバグレポートしても治らない。こんな根本的な部分で不具合を起こされても困るのですが……。
macOS 14の変更がmacOS 13にも反映
「システム環境設定」が「システム設定」に変わったときに、各設定Paneを表示するためのAppleScript用語辞書が機能しない、空白の期間が発生していました。macOS 14βで本機能が復旧されたのと同じタイミングで、macOS 13.xにもさかのぼって同じ機能が実装されました。
ただ、システム設定の各Paneへの表示切り替えが行えるだけで、たとえばオーディオ入出力デバイスの切り替え機能が提供されているわけではないため、それについては別途実装したものを呼び出すという解決方法が必要になります。