piyomarusoftpiyomarusoft

[お試し版]AppleScriptの穴Blogアーカイブvol.2

# RPAの本ではありません。MacのGUIアプリケーションの高度な自動化を行うAppleScriptの本です 2018年1月末に事故で消えた、AppleScript系の世界最大の個人Blog「AppleScriptの穴」の内容について、2009年1月から12月分をまとめた「アーカイブ本」です。 ※ご注意:同Blogは内容を刷新して2018年2月に復活し、現在も運用を続行しています 全367ページ、掲載AppleScriptは184本。プログラムリストの内容がスクリプトエディタにワンクリックで転送されるURLリンクつき。巻頭に当時のMac OS XのAppleScript的な仕様をわかりやすくまとめた資料を添付しています。 本おためし版は冒頭から37ページまでを抽出したものです。 iPhotoで特定のアルバムに入っている写真の枚数をカウントする iPhotoで写真のファイル名に合致する写真を取得する iPhotoで、複数名称による写真指定を行う例(できない) Numbersでオープン中のドキュメントを数える Numbersでウィンドウを数える(動作がおかしい) Numbersでウィンドウの情報を取得する Numbersのアプリケーションのプロパティを取得する Numbersで書類を保存する pdfinfoを使ってPDFのページ数をかぞえる Numbersで統合された選択セルを元にもどす CaminoでWindow 1の情報を取得する Caminoで新規ウインドウで指定URLをオープン CaminoでBookmarkを操作するテスト(駄目) 変数やサブルーチン名称に日本語を使用する QuickTime Playerがバージョン7.6にアップデート Xcodeでオープン中のプロジェクトで、ビルドターゲット「deployment」を使用してクリーニング実行後、ビルドを行う 入れ子のリストをフラット化v01 入れ子のリストをフラット化v02 入れ子のリストをフラット化v03 指定階層下で、指定クリエータコードのファイルを取得 SkimでPDFの各種情報を取得する Skimで注釈(note)を削除する Numbersで選択範囲を取得 Nunbersで選択範囲の値を取得 Numbersで指定範囲を選択 Preview.appで最低限のScript命令実行機能をイネーブルに Excel 2008でX軸方向に右端から、データが存在しているセルをサーチ GUI Scriptingによる記述(1) Shade 10でレンダリングを行う GUI Scriptingによる記述(2) GUI Scriptingによる記述(3) pdfinfoの結果をparseするv2 Shade 10でドキュメントを保存する Shade 10で新規ドキュメントを作成 Shade 10でsceneをDXF形式で書き出す リスト中で重複を検出する(大文字小文字を同一視) Font Bookで指定フォントのファイルがどこに置かれているかを検知する diskutilitiesで起動HDDのユーザー権限修復 Font Bookで指定typefaceの詳細な情報を取得する アプリケーションに命令を行う記述方法で最短のもの Safariのダウンロードフォルダを求めるv1 Safariのダウンロードフォルダを求めるv2 Safariのダウンロードフォルダを求めるv3 Safariのダウンロードフォルダを求めるv4 アドレスブックで表示中のPersonに画像をTIFF変換して読み込み アプレットをコピーしてリネーム v2 指定文字列ではじまるプロセスをすべて終了させる 指定ファイルがバンドル形式のアプレットかどうかチェック ソート用のカラムを生成する 複数リストの合成 version テスト 指定名称のプログラムを強制終了させる 数値を「時間」「分」でフォーマットしたテキストで返す MacJournalでアプリのプロパティを取得 MacJournalで書類のプロパティを取得 MacJournalでキーワード検索状態を解除 MacJournalで選択中のjournal entryを取得する MacJournalでjournalを選択UIを表示しつつ表示 MacJournalで任意のjournalをロックする(未遂) 国民の祝日を求めるv2 リスト中から重複項目をリストアップする 現在日時から曜日を番号で返す リスト内のアイテムへの項目追加 contains/is inによる存在確認は、入れ子のリストに使えない Photoshop Elements 6のAS辞書はPhotoshop CS3と同じ 入れ子のリスト内のis in/containsによる存在確認 某氏のtwitter上の発言を集めてテキスト化 twitter検索結果のJSONをparseする 6/13にTMUGのMeetingで新作「Moving Agency」をデモ FireFoxでオープン中のURLを取得する FireFoxでオープンしているURLを取得。Leopard対応版 郵便専門ネットでバージョン番号を取得 郵便専門ネットでXML-RPC経由でJISコード(5桁、6桁どちらでも)から、その市区町村に属している郵便番号のリストを取得 郵便専門ネットで道府県のコード(地方公共団体コードの先頭2文字)から都道府県名を返す 郵便専門ネットでXML-RPC経由で郵便番号に対応する世界測地系(WGS84)の緯度経度コード(Geocode)を返す 郵便専門ネットで一度に取得できるデータ件数を返す 郵便専門ネットでXML-RPC経由で引数に都道府県のJISコード(JISコードの先頭2文字)を渡すと、その都道府県に属しているJISコードを取得 郵便専門ネットでXML-RPC経由で郵便番号から住所を返す 郵便専門ネットで郵便番号の存在チェック 郵便専門ネットで引数に指定した郵便番号で何件ヒットするのかをint型で返す 郵便専門ネットでXML-RPC経由で郵便番号を6桁(チェックデジット付き)の全国地方公共団体コード/JISコード/市町村コードに変換 WordPress.comが受け取るXML-RPCのメソッド名一覧を取得する ファイルの安全な書き出し AppleScript Studioを念頭に置いたライブラリ整備 WordPressのBlogに画像ファイルをアップロード Safariで表示中のページ内容をMacJournalの現在選択中のJournalにペースト Diary++Xでアプリの情報を取得 Diary++Xでドキュメントの情報を取得 Diary++Xで指定カテゴリ内のアーティクルを取得する XcodeでクリーニングしてビルドしてZip圧縮 指定月の第x指定曜日に該当する日付を求める(曜日数値指定対応) 国民の祝日を求める v4 指定年月の祝日の日を数値のリストで返す Twitterrifficで選択中の発言の時間をGrowlで表示。アイコン付きで URL Access Scriptingにファイル名の32文字制限が Twitterifficで選択中の発言の時間をGrowlで表示。アイコン付きで v3 AppleScriptで開発を行うユーザーアカウントにATOKは禁物 Google Chrome BetaがAppleScriptに非対応 国民の祝日を求め__指定期間に該当するものを返す もんのすごいざっくりな元号計算ルーチン 指定月のうち、日曜日に該当するものを日付だけ返す 1年間の各週の開始日と終了日を求める(月曜日はじまりカレンダー) ファイル名文字列から拡張子のみ取得する 日曜日はじまりのカレンダーで指定月が何週分あるか行数を数える 指定年の各月の開始日と終了日を算出する 指定フォルダ内の指定種別(kind)のファイル一覧を取得 指定アプリケーションのAppleScript予約語をリストアップ メールの返信文1行目のテキストからメールアドレスを抽出する v1 メールの返信文1行目のテキストからメールアドレスを抽出する v2 メールアドレスチェック Snow Leoaprdでスクリプトエディタが「AppleScriptエディタ」に Snow LeoaprdのAppleScriptに関するリリースノート Snow LeopardのAppleScriptに関するリリースノート(2) 指定フォルダ内の指定種別(kind)のファイル一覧を取得 指定アプリケーションのAppleScript予約語をリストアップ メールの返信文1行目のテキストからメールアドレスを抽出する v1 メールの返信文1行目のテキストからメールアドレスを抽出する v2 メールアドレスチェック Snow Leoaprdでスクリプトエディタが「AppleScriptエディタ」に Snow LeoaprdのAppleScriptに関するリリースノート Snow LeopardのAppleScriptに関するリリースノート(2) リスト中の要素の存在確認(10.6以降) 10.6でtext item delimitersがリストで指定可能に QuickTime PlayerのXと7を区別して命令を発行する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v2 9/19にホスティングサービス側の都合で5分間ダウン Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v3 Sin Cos演算ルーチン AppleScriptObjCのドキュメント公開が開始される リスト中の要素の存在確認(10.6以降) 10.6でtext item delimitersがリストで指定可能に QuickTime PlayerのXと7を区別して命令を発行する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v2 9/19にホスティングサービス側の都合で5分間ダウン Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v3 Sin Cos演算ルーチン AppleScriptObjCのドキュメント公開が開始される Mail.appの指定メールボックス内に任意のメールボックスを新規作成 v2 テキストによるプログレスインジケータ作成 v2 LateNight SoftwareのMark Alldrittが自社製OSAXの64ビット非対応について言及 whoseによるフィルタ参照 Cyberduck 3.3b4がAppleScriptに非対応 全角文字から半角文字への置換 System EventsでDockの設定を取得、変更する Diary++X v1.1以降で日付を指定して日記アーティクルを作成 Xcode 3.2.1でAS用語辞書が大幅拡充 URL形式の文字エスケープを行う リスト中に入っている指定要素をサーチして、合致した出現アイテム番号を返す 指定文字列の中に特定の文字が何回出現するかをカウントして返す InDesign CS3のuser interaction levelを取得、設定する テキスト中の任意の順番の文字取り出し Mac OS X 10.4.11への対応 Xcode 3.2.1でアプリケーションの情報を取得する Xcode 3.2.1でプロジェクトの属性情報を取得する 10.5以降でRemote AppleEvent操作時にdisplay dialog等を使えない AppleScriptの文字列比較(1) AppleScriptの文字列比較(2)~considering, ignoring AppleScriptの文字列比較(3)~濁点/半濁点の考慮/無視指定 AppleScriptの文字列比較(4)~日本語の大文字/小文字 AppleScriptの文字列比較(5)~句読点の考慮/無視 等号つき不等号の同義語 System EventsでScreen Saverの設定にアクセスする Web共有がオンになっているかどうかを検出する AppleScriptObjC-Dev MLが新設された System Events経由でQuickTimeムービーにアクセスする2 System Events経由でQuickTimeムービーのannotationにアクセスする 擬似的にPropertyファイルを使ってカウントアップ cyberduckでファイルのアップロード AppleScriptObjc 3分間クッキング 指定の大きさでカラのリストを作成する クリップボードに入っている情報の改行を外してクリップボードに書き戻す PlistファイルをParseして返す 選択したアプリケーションのInfo.plistを読んで、実行バイナリの名称を取得する オブジェクトの複数同時指定 指定フォルダ中のファイルを消してフォルダだけ残す 指定フォルダの中のフォルダをオープン Excel選択範囲から各種文字列長のデータをピックアップ v6 Photoshop CS3で指定エリアを切り出して新規保存 指定値を構成するペアの全パターンのリストを求める 連続する文字(たぶんスペース)を1つにまとめる 指定文字列の中に指定文字が何回出現するかカウントする 伏せ字文字列を返す 指定日に在任中の内閣総理大臣の氏名を取得 v2

# RPAの本ではありません。MacのGUIアプリケーションの高度な自動化を行うAppleScriptの本です 2018年1月末に事故で消えた、AppleScript系の世界最大の個人Blog「AppleScriptの穴」の内容について、2009年1月から12月分をまとめた「アーカイブ本」です。 ※ご注意:同Blogは内容を刷新して2018年2月に復活し、現在も運用を続行しています 全367ページ、掲載AppleScriptは184本。プログラムリストの内容がスクリプトエディタにワンクリックで転送されるURLリンクつき。巻頭に当時のMac OS XのAppleScript的な仕様をわかりやすくまとめた資料を添付しています。 本おためし版は冒頭から37ページまでを抽出したものです。 iPhotoで特定のアルバムに入っている写真の枚数をカウントする iPhotoで写真のファイル名に合致する写真を取得する iPhotoで、複数名称による写真指定を行う例(できない) Numbersでオープン中のドキュメントを数える Numbersでウィンドウを数える(動作がおかしい) Numbersでウィンドウの情報を取得する Numbersのアプリケーションのプロパティを取得する Numbersで書類を保存する pdfinfoを使ってPDFのページ数をかぞえる Numbersで統合された選択セルを元にもどす CaminoでWindow 1の情報を取得する Caminoで新規ウインドウで指定URLをオープン CaminoでBookmarkを操作するテスト(駄目) 変数やサブルーチン名称に日本語を使用する QuickTime Playerがバージョン7.6にアップデート Xcodeでオープン中のプロジェクトで、ビルドターゲット「deployment」を使用してクリーニング実行後、ビルドを行う 入れ子のリストをフラット化v01 入れ子のリストをフラット化v02 入れ子のリストをフラット化v03 指定階層下で、指定クリエータコードのファイルを取得 SkimでPDFの各種情報を取得する Skimで注釈(note)を削除する Numbersで選択範囲を取得 Nunbersで選択範囲の値を取得 Numbersで指定範囲を選択 Preview.appで最低限のScript命令実行機能をイネーブルに Excel 2008でX軸方向に右端から、データが存在しているセルをサーチ GUI Scriptingによる記述(1) Shade 10でレンダリングを行う GUI Scriptingによる記述(2) GUI Scriptingによる記述(3) pdfinfoの結果をparseするv2 Shade 10でドキュメントを保存する Shade 10で新規ドキュメントを作成 Shade 10でsceneをDXF形式で書き出す リスト中で重複を検出する(大文字小文字を同一視) Font Bookで指定フォントのファイルがどこに置かれているかを検知する diskutilitiesで起動HDDのユーザー権限修復 Font Bookで指定typefaceの詳細な情報を取得する アプリケーションに命令を行う記述方法で最短のもの Safariのダウンロードフォルダを求めるv1 Safariのダウンロードフォルダを求めるv2 Safariのダウンロードフォルダを求めるv3 Safariのダウンロードフォルダを求めるv4 アドレスブックで表示中のPersonに画像をTIFF変換して読み込み アプレットをコピーしてリネーム v2 指定文字列ではじまるプロセスをすべて終了させる 指定ファイルがバンドル形式のアプレットかどうかチェック ソート用のカラムを生成する 複数リストの合成 version テスト 指定名称のプログラムを強制終了させる 数値を「時間」「分」でフォーマットしたテキストで返す MacJournalでアプリのプロパティを取得 MacJournalで書類のプロパティを取得 MacJournalでキーワード検索状態を解除 MacJournalで選択中のjournal entryを取得する MacJournalでjournalを選択UIを表示しつつ表示 MacJournalで任意のjournalをロックする(未遂) 国民の祝日を求めるv2 リスト中から重複項目をリストアップする 現在日時から曜日を番号で返す リスト内のアイテムへの項目追加 contains/is inによる存在確認は、入れ子のリストに使えない Photoshop Elements 6のAS辞書はPhotoshop CS3と同じ 入れ子のリスト内のis in/containsによる存在確認 某氏のtwitter上の発言を集めてテキスト化 twitter検索結果のJSONをparseする 6/13にTMUGのMeetingで新作「Moving Agency」をデモ FireFoxでオープン中のURLを取得する FireFoxでオープンしているURLを取得。Leopard対応版 郵便専門ネットでバージョン番号を取得 郵便専門ネットでXML-RPC経由でJISコード(5桁、6桁どちらでも)から、その市区町村に属している郵便番号のリストを取得 郵便専門ネットで道府県のコード(地方公共団体コードの先頭2文字)から都道府県名を返す 郵便専門ネットでXML-RPC経由で郵便番号に対応する世界測地系(WGS84)の緯度経度コード(Geocode)を返す 郵便専門ネットで一度に取得できるデータ件数を返す 郵便専門ネットでXML-RPC経由で引数に都道府県のJISコード(JISコードの先頭2文字)を渡すと、その都道府県に属しているJISコードを取得 郵便専門ネットでXML-RPC経由で郵便番号から住所を返す 郵便専門ネットで郵便番号の存在チェック 郵便専門ネットで引数に指定した郵便番号で何件ヒットするのかをint型で返す 郵便専門ネットでXML-RPC経由で郵便番号を6桁(チェックデジット付き)の全国地方公共団体コード/JISコード/市町村コードに変換 WordPress.comが受け取るXML-RPCのメソッド名一覧を取得する ファイルの安全な書き出し AppleScript Studioを念頭に置いたライブラリ整備 WordPressのBlogに画像ファイルをアップロード Safariで表示中のページ内容をMacJournalの現在選択中のJournalにペースト Diary++Xでアプリの情報を取得 Diary++Xでドキュメントの情報を取得 Diary++Xで指定カテゴリ内のアーティクルを取得する XcodeでクリーニングしてビルドしてZip圧縮 指定月の第x指定曜日に該当する日付を求める(曜日数値指定対応) 国民の祝日を求める v4 指定年月の祝日の日を数値のリストで返す Twitterrifficで選択中の発言の時間をGrowlで表示。アイコン付きで URL Access Scriptingにファイル名の32文字制限が Twitterifficで選択中の発言の時間をGrowlで表示。アイコン付きで v3 AppleScriptで開発を行うユーザーアカウントにATOKは禁物 Google Chrome BetaがAppleScriptに非対応 国民の祝日を求め__指定期間に該当するものを返す もんのすごいざっくりな元号計算ルーチン 指定月のうち、日曜日に該当するものを日付だけ返す 1年間の各週の開始日と終了日を求める(月曜日はじまりカレンダー) ファイル名文字列から拡張子のみ取得する 日曜日はじまりのカレンダーで指定月が何週分あるか行数を数える 指定年の各月の開始日と終了日を算出する 指定フォルダ内の指定種別(kind)のファイル一覧を取得 指定アプリケーションのAppleScript予約語をリストアップ メールの返信文1行目のテキストからメールアドレスを抽出する v1 メールの返信文1行目のテキストからメールアドレスを抽出する v2 メールアドレスチェック Snow Leoaprdでスクリプトエディタが「AppleScriptエディタ」に Snow LeoaprdのAppleScriptに関するリリースノート Snow LeopardのAppleScriptに関するリリースノート(2) 指定フォルダ内の指定種別(kind)のファイル一覧を取得 指定アプリケーションのAppleScript予約語をリストアップ メールの返信文1行目のテキストからメールアドレスを抽出する v1 メールの返信文1行目のテキストからメールアドレスを抽出する v2 メールアドレスチェック Snow Leoaprdでスクリプトエディタが「AppleScriptエディタ」に Snow LeoaprdのAppleScriptに関するリリースノート Snow LeopardのAppleScriptに関するリリースノート(2) リスト中の要素の存在確認(10.6以降) 10.6でtext item delimitersがリストで指定可能に QuickTime PlayerのXと7を区別して命令を発行する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v2 9/19にホスティングサービス側の都合で5分間ダウン Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v3 Sin Cos演算ルーチン AppleScriptObjCのドキュメント公開が開始される リスト中の要素の存在確認(10.6以降) 10.6でtext item delimitersがリストで指定可能に QuickTime PlayerのXと7を区別して命令を発行する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v2 9/19にホスティングサービス側の都合で5分間ダウン Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v3 Sin Cos演算ルーチン AppleScriptObjCのドキュメント公開が開始される Mail.appの指定メールボックス内に任意のメールボックスを新規作成 v2 テキストによるプログレスインジケータ作成 v2 LateNight SoftwareのMark Alldrittが自社製OSAXの64ビット非対応について言及 whoseによるフィルタ参照 Cyberduck 3.3b4がAppleScriptに非対応 全角文字から半角文字への置換 System EventsでDockの設定を取得、変更する Diary++X v1.1以降で日付を指定して日記アーティクルを作成 Xcode 3.2.1でAS用語辞書が大幅拡充 URL形式の文字エスケープを行う リスト中に入っている指定要素をサーチして、合致した出現アイテム番号を返す 指定文字列の中に特定の文字が何回出現するかをカウントして返す InDesign CS3のuser interaction levelを取得、設定する テキスト中の任意の順番の文字取り出し Mac OS X 10.4.11への対応 Xcode 3.2.1でアプリケーションの情報を取得する Xcode 3.2.1でプロジェクトの属性情報を取得する 10.5以降でRemote AppleEvent操作時にdisplay dialog等を使えない AppleScriptの文字列比較(1) AppleScriptの文字列比較(2)~considering, ignoring AppleScriptの文字列比較(3)~濁点/半濁点の考慮/無視指定 AppleScriptの文字列比較(4)~日本語の大文字/小文字 AppleScriptの文字列比較(5)~句読点の考慮/無視 等号つき不等号の同義語 System EventsでScreen Saverの設定にアクセスする Web共有がオンになっているかどうかを検出する AppleScriptObjC-Dev MLが新設された System Events経由でQuickTimeムービーにアクセスする2 System Events経由でQuickTimeムービーのannotationにアクセスする 擬似的にPropertyファイルを使ってカウントアップ cyberduckでファイルのアップロード AppleScriptObjc 3分間クッキング 指定の大きさでカラのリストを作成する クリップボードに入っている情報の改行を外してクリップボードに書き戻す PlistファイルをParseして返す 選択したアプリケーションのInfo.plistを読んで、実行バイナリの名称を取得する オブジェクトの複数同時指定 指定フォルダ中のファイルを消してフォルダだけ残す 指定フォルダの中のフォルダをオープン Excel選択範囲から各種文字列長のデータをピックアップ v6 Photoshop CS3で指定エリアを切り出して新規保存 指定値を構成するペアの全パターンのリストを求める 連続する文字(たぶんスペース)を1つにまとめる 指定文字列の中に指定文字が何回出現するかカウントする 伏せ字文字列を返す 指定日に在任中の内閣総理大臣の氏名を取得 v2