AppleScript実践的テクニック集(1)GUI Scripting v1.1
- ダウンロード商品製品版¥ 3,000
- ダウンロード商品サンプル版¥ 0
v1.1アップデート macOS 13における変更を反映。UI Browserの使い方についての章を追加。macOS 13の「システム設定」で各種Paneを表示するAppleScriptを掲載! 添付Scriptアーカイブにて、macOS 13のシステム設定の各Paneを表示するScriptを追加収録 ※すでに本書をお買い求めの方々は、再度ダウンロードを行うことでアップデート版を入手していただけます GUI Scriptingは、Mac OS X 10.3で登場した、画面上のGUI部品を指定して、属性値を調べたり、クリック動作を行なったことにして、AppleScript用語辞書に記載されていない機能を呼び出す仕組みです。 使い所さえ間違えなければ強力な武器になるGUI Scriptingについて、動作原理からノウハウ、注意すべきポイントや実戦レベルのScriptで気をつけていること、さまざまな「ありがちな処理」のサンプルなどを紹介する1冊です。 PDF 315ページ、サンプルScript Zipアーカイブ添付
目次
■GUI Scripting (UI Element Scripting)とは? AS用語辞書にすべての機能は掲載されていません① AS用語辞書にすべての機能は掲載されていません② AppleScript非対応機能を呼ぶGUI Scripting GUI Scriptingとは? GUI ScriptingはSystem Eventsごしに操作 操作対象のアプリケーション① 操作対象のアプリケーション② ■AppleScript非対応機能を操作する KeynoteでASから利用できない機能を呼ぶ GUIアプリケーションの挙動確認が欠かせません メニュー項目操作の実例 実行結果のリストアップ① 実行結果のリストアップ② ■GUI Scriptingの実行を許可する(macOS 12まで) デフォルト状態だとGUI Scriptingは無効 AppleScript実行アプリケーションを登録 設定するとGUI Scriptingが有効に スクリプトメニューも登録必須 資料:macOS上のAppleScript実行環境① 資料:macOS上のAppleScript実行環境② ■GUI Scriptingの実行を許可する(macOS 13) New!! デフォルト状態だとGUI Scriptingは無効 AppleScript実行アプリケーションを登録 ■GUI部品への参照を求める方法 メニュー項目:メニューを頂点としたツリー ウィンドウ上のオブジェクト:ウィンドウが基準 簡単なGUI部品の求め方 ■GUI Scriptingでやりたい特徴的な操作 GUI Scriptingの有効チェック(macOS 12まで) GUI Scriptingの有効チェック(macOS 13以降) 属性値の取得(properties) 属性値の取得(AX-attributes) 属性値の取得(AX-attributes) GUI部品のクリック GUI部品のクリック 指定座標のクリック 指定座標のクリック 参考資料:GUI Scriptingの座標系 ポップアップメニューの項目選択 キー入力操作 キー入力操作 項目選択 コンテクストメニューの表示 スクロール操作 ファイル保存/書き出し 自分で発生させたモーダルなダイアログのクリック ドラッグ&ドロップ操作 日本語IMの文字入力モード取得/設定 ■AppleScript対応度の極端に低いアプリケーションの操作 New!! 互換性の低いmacOS用アプリケーション CLIP STUDIO PAINTのGUI部品探索 CLIP STUDIO PAINTの操作 ■マウスカーソルの強制移動&強制クリック マウスカーソルを移動させる必要性 マウスカーソルの強制移動とクリック ■実戦レベルのAppleScriptにおけるGUI Scripting解説 指定フォルダ以下のPagesなどをPDF出力して連結 実際のメインScript部分 generatePDFLibの当該箇所 本プログラムが環境の影響を受けた点 本プログラムが環境の影響を受けた点 参考資料:デスクトップの表示/非表示切り替え ■UI Browserの使い方 New!! macOS用GUI部品探索ツールの決定版! インストール後にまずやること GUI部品探索対象のアプリケーションを選択 対象アプリケーションのGUI部品を探索 対象のGUI部品の情報を調べる 対象GUI部品などにアクセスするコード生成① 対象GUI部品などにアクセスするコード生成② 対象GUI部品などにアクセスするコード生成② 対象のGUI部品の属性値情報を調べる 対象GUI部品の属性値ラベルにアクセスするコード生成 対象のGUI部品が受け付けるコマンドを調べる 対象のGUI部品が受け付けるコマンド UI Browserの問題点 ■Accessibility Inspectorの使い方 Xcodeに入っているGUI部品探索ツール Accessibility Inspectorの画面構成① Accessibility Inspectorの画面構成② プロセス一覧から対象を選択してInspection 指定プロセスのGUI部品の追跡中の画面表示 GUI部品の追跡ポーズ中の画面表示 ■OSやアプリケーションのアップデートに備える OSアップデートごとにGUI構成は変わる GUI Scripting処理部分だけをサブルーチンに分離 GUI Scripting処理部分をライブラリに分離 OSアップデートの影響を受けにくい構造に ■macOS 13「システム設定」の各Paneの表示を行う New!! システム設定の各Paneを表示する システム設定の各Paneを表示する① システム設定の各Paneを表示する② システム設定の各Paneを表示する③ ■GUI Scriptingの信頼性は? GUI Scriptingの信頼性は? 一般的な信頼性の計測方法 経験に基づく傾向と対策 GUI Scriptingで直面した問題とその解決策 指定した処理の終了前に次の処理が行われる 同じ名前のプロセスが存在していると名称衝突① 同じ名前のプロセスが存在していると名称衝突② ■GUI Scriptingサンプル集 指定のアプリケーションの全メニュータイトルを取得 選択中のテキストを取得 選択中のテキストを書き換え Safariの最前面のウィンドウへの参照を得る GUI部品への参照から所属するアプリケーション名を取得 Dockに登録されているアイコンの情報を取得 Keynoteで選択中のテキストを縦書きに CotEditorで最前面のウィンドウを縦書きに ■GUI Scripting資料集 click【クリック】コマンド key code【キーコード】コマンド keystroke【キーストローク】コマンド perform【パフォーム】コマンド select【セレクト】コマンド application【アプリケーション】クラス action【アクション】クラス application process【アプリケーションプロセス】クラス attribute【アトリビュート】クラス browser【ブラウザ】クラス busy indicator【ビジーインディケータ】クラス button【ボタン】クラス checkbox【チェックボックス】クラス color well【カラーウェル】クラス column【カラム】クラス combo box【コンボボックス】クラス desk accessory process【デスクアクセサリプロセス】クラス drawer【ドロワー】クラス group【グループ】クラス grow area【グローエリア】クラス image【イメージ】クラス incrementor【インクリメンタ】クラス list【リスト】クラス menu【メニュー】クラス menu bar【メニューバー】クラス menu bar item【メニューバーアイテム】クラス menu button 【メニューボタン】クラス menu item 【メニューアイテム】クラス outline 【アウトライン】クラス pop over 【ポップオーバー】クラス pop up button 【ポップアップボタン】クラス process 【プロセス】クラス progress indicator 【プログレスインジケータ】クラス radio button 【ラジオボタン】クラス radio group【ラジオグループ】クラス relevance indicator【レレベンスインジケータ】クラス row【ロー】クラス scroll area【スクロールエリア】クラス scroll bar 【スクロールバー】クラス sheet 【シート】クラス slider【スライダ】クラス splitter【スプリッタ】クラス splitter group【スプリッタグループ】クラス static text【スタティックテキスト】クラス tab group【タブグループ】クラス table【テーブル】クラス text area【テキストエリア】クラス text field【テキストフィールド】クラス toolbar【ツールバー】クラス UI element【ユーアイエレメント】クラス value indicator【バリューインディケータ】クラス window【ウインドウ】クラス ■AppleScript資料集 macOSバージョンとAppleScriptの動向 macOSとAppleScriptの要素技術史 各macOSごとのAppleScript解説 macOS内AppleScript補助ツールの歴史 System EventsのAppleScript用語辞書変更点 AppleScript 各ランタイム環境情報 AppleScript予約語一覧 AppleScriptのエラーコード あとがき(v1.1) 奥付