※本ページにはプロモーション(広告)が含まれています
Macには「スクリプトエディタ」という、知る人ぞ知る強力な自動化ツールが標準搭載されています。このアプリで使う「AppleScript」は1993年から続くApple独自の自動化言語で、Finderの操作、Safariのタブ管理、メール送信、Music.appの操作など、ありとあらゆるMacアプリを「英語に近い文法」で操れます。
近年では「Shortcuts.app(ショートカット)」が登場して脚光を浴びていますが、それでもAppleScriptは多くのプロフェッショナルに愛用され続けています。なぜなら、Shortcutsでは届かない深い部分まで操作できるからです。たとえば「Mailの本文を解析して条件分岐する」「Numbersのセルを動的に書き換える」「定刻に複雑な処理を実行する」といった芸当は、AppleScriptの独壇場です。
この記事では、2026年時点でAppleScriptを使った自動化を始めたい方に向けて、スクリプトエディタの起動方法から、よく使う5つの実用例、アプリ化、ショートカット.appとの使い分け、セキュリティ上の注意点まで、一気通貫で解説します。プログラミング初心者でも理解できるように、専門用語には必ず説明を添えています。
この記事でわかること
- AppleScriptとは何か、なぜ今でも現役で使われるのか
- スクリプトエディタの起動方法と画面構成
- AppleScript基本構文(tell、do shell script、displayなど)
- すぐ使える5つの実用スクリプト例(Finder一括リネーム、Safari URL取得など)
- スクリプトを
.app形式でアプリ化する方法 - JavaScript for Automation(JXA)との関係と使い分け
- 権限要求とプライバシー設定の理解
- Shortcuts.appとの比較・使い分け
- セキュリティ上の注意点と安全な運用方法
AppleScriptとは何か
AppleScriptは、Apple純正の「アプリケーション制御言語」です。一般的なプログラミング言語(Python、JavaScriptなど)と比べて、文法が英語に非常に近いのが最大の特徴で、コードを読むだけで何をしているかが直感的に分かります。
たとえば、Safariで現在開いているURLを取得するには、次のように書くだけです。
tell application "Safari"
get URL of current tab of front window
end tell
「Safariに伝えなさい、最前面のウィンドウの現在のタブのURLを取得しなさい」と、ほぼ英語そのままですね。これがAppleScriptの世界観です。
AppleScriptが今でも使われる理由
- OS標準搭載: macOSがある限り使える(30年以上の歴史)
- Apple純正アプリとの相性が抜群: Mail、Calendar、Music、Safari、Finderなどへの深いアクセスが可能
- シェルコマンド呼び出し:
do shell scriptでUNIXコマンドも実行可能、強力な拡張性 - サードパーティアプリ対応: Adobe製品、Microsoft Office、BBEditなど、多くのアプリがAppleScript対応
- アプリ化が簡単: スクリプトをそのまま
.appとして配布可能
AppleScriptが苦手なこと
もちろん万能ではなく、以下のような場面では他のツールが向いています。
- Webスクレイピングなどネットワーク処理 → Pythonが得意
- iOSとの連携 → Shortcuts.appが有利
- 大規模アプリ開発 → Swiftなど本格言語が必要

スクリプトエディタを起動する
スクリプトエディタは、Macに標準でインストールされているアプリです。隠れた場所にあるため、初めて使う方は次の手順で開きましょう。
方法1: Launchpadから探す
- Launchpadを開く(Dockのロケットアイコン)
- 「その他」または「ユーティリティ」フォルダ内にある「スクリプトエディタ」をクリック
方法2: Spotlight検索(最速)
- Cmd + Space でSpotlightを起動
- 「スクリプトエディタ」または「Script Editor」と入力
- Enterで起動
方法3: Finderから直接
- Finderで「アプリケーション」フォルダを開く
- 「ユーティリティ」フォルダ内の「スクリプトエディタ.app」をダブルクリック
初回起動時の画面
初めて起動すると「新規書類」を作るか「既存ファイルを開く」かを尋ねられます。新規書類を選ぶと、白い空のエディタが表示されます。上部には「実行」「停止」「コンパイル」のボタンがあり、左下には「結果」「説明」を切り替えるタブが見えます。
AppleScript基本構文
AppleScriptは英語的な文法ですが、いくつか押さえておくべき基本要素があります。
tell ブロック
「どのアプリに伝えるか」を指定する構文です。AppleScriptで最もよく使う構造です。
tell application "Finder"
-- ここにFinderへの命令を書く
end tell
display dialog(ダイアログ表示)
ユーザーに対してダイアログを表示します。練習用の入門として最適です。
display dialog "こんにちは、世界!"
ボタン付きやテキスト入力付きのダイアログも作れます。
display dialog "お名前を入力してください" default answer ""
set userName to text returned of result
display dialog "ようこそ、" & userName & " さん!"
do shell script(シェルコマンド実行)
UNIXのターミナルコマンドをAppleScriptから実行できます。これが圧倒的に強力で、無限の可能性を生みます。
do shell script "ls ~/Desktop"
set fileList to result
display dialog fileList
変数(set)
AppleScriptでは set 変数名 to 値 で変数を定義します。
set greeting to "Hello"
set count to 10
display dialog greeting & " (" & count & ")"
if 条件分岐
set userAge to 20
if userAge ≥ 18 then
display dialog "成人です"
else
display dialog "未成年です"
end if
repeat 繰り返し
repeat 5 times
display dialog "テスト中"
end repeat
実用例1: Finderで複数ファイルを一括リネーム
デスクトップに散らかった画像ファイルを「image_001.jpg」「image_002.jpg」とリネームするスクリプトです。
tell application "Finder"
set targetFolder to folder "Desktop" of home
set imageFiles to every file of targetFolder whose name extension is "jpg"
set fileCount to 1
repeat with theFile in imageFiles
set newName to "image_" & (text -3 thru -1 of ("000" & fileCount)) & ".jpg"
set name of theFile to newName
set fileCount to fileCount + 1
end repeat
display dialog (count of imageFiles) & " 個のファイルをリネームしました"
end tell
このスクリプトは、デスクトップ上の .jpg ファイルすべてを連番付きのファイル名に変更します。実行ボタン(▶︎)を押すだけで処理が走ります。
実用例2: Safariで現在開いているURLをコピー
Safariで開いている全タブのURLを、クリップボードにコピーします。ブログ執筆や引用元のリスト作成に便利です。
tell application "Safari"
set urlList to ""
set tabList to every tab of front window
repeat with currentTab in tabList
set urlList to urlList & (URL of currentTab) & return
end repeat
end tell
set the clipboard to urlList
display dialog "全タブのURLをクリップボードにコピーしました"
実用例3: メールで定型文を送信
Mail.appを使って、定型文の送信を半自動化します。完全自動送信もできますが、誤送信防止のため通常は「下書き作成」までに留めるのがおすすめです。
tell application "Mail"
set newMessage to make new outgoing message with properties {¬
subject:"本日のレポート", ¬
content:"お疲れ様です。本日の進捗をお送りします。" & return & return & "詳細は添付ファイルをご確認ください。"}
tell newMessage
make new to recipient with properties {address:"example@company.com"}
end tell
activate
end tell
このスクリプトを実行すると、宛先・件名・本文が入力された新規メール作成ウィンドウが開きます。確認後、自分で送信ボタンを押す運用が安全です。

実用例4: Music.appで再生中の曲情報を取得
SNSへの「今聴いている曲」投稿に便利なスクリプトです。
tell application "Music"
if player state is playing then
set trackName to name of current track
set artistName to artist of current track
set albumName to album of current track
set info to "♪ " & trackName & " - " & artistName & " (" & albumName & ")"
set the clipboard to info
display dialog "曲情報をコピーしました:" & return & info
else
display dialog "現在再生中の曲はありません"
end if
end tell
実用例5: 通知センターから通知を出す
長時間の処理が終わったタイミングで通知を出すなど、独自の通知システムを作れます。
display notification "処理が完了しました" with title "AppleScript" subtitle "お知らせ" sound name "Glass"
これだけで、画面右上に通知センターのバナーが表示されます。長時間処理のスクリプトの末尾に書いておけば、「終わったかな?」と画面を覗き続ける必要がなくなります。
スクリプトをアプリ化する
AppleScriptの最大の魅力は、「スクリプトをそのまま .app ファイルに保存できる」ことです。ダブルクリックで実行できるので、自分専用のユーティリティアプリを簡単に作れます。
アプリ化の手順
- スクリプトエディタでスクリプトを書く
- メニューの「ファイル」→「書き出す…」を選択
- 「ファイルフォーマット」で「アプリケーション」を選択
- 保存先を選んで「保存」をクリック
これで .app ファイルが完成します。Dockに登録したり、Launchpadから起動したりできるようになります。
アプリアイコンのカスタマイズ
- Finderで作成した
.appを選択 → Cmd+I で情報ウィンドウを開く - 任意の画像ファイルをコピー(Cmd+C)
- 情報ウィンドウ左上のデフォルトアイコンをクリックして選択
- Cmd+V で貼り付け
JavaScript for Automation(JXA)との関係
macOS Yosemite(10.10)から、AppleScriptに加えてJavaScript(JXA)でも自動化が書けるようになりました。スクリプトエディタの左上で言語を切り替え可能です。
AppleScriptとJXAの比較
| 項目 | AppleScript | JXA |
|---|---|---|
| 文法 | 英語的・読みやすい | JavaScript準拠 |
| 学習曲線 | 初心者向き | JS経験者なら即習得 |
| サンプル数 | 非常に多い | 比較的少ない |
| パフォーマンス | 標準 | 同等 |
| OOPサポート | 限定的 | 本格的 |
| 非同期処理 | 苦手 | 得意(Promise可) |
| 将来性 | 変わらず安定 | Apple公式の今後の方針次第 |
結論として、初心者にはAppleScript、JavaScriptに慣れている開発者にはJXAがおすすめです。両方を使い分けることもできます。
スクリプトの権限と「オートメーション」許可
macOS Mojave以降、AppleScriptが他のアプリを制御する際には「システム設定の許可」が必要になりました。最初に実行したとき、次のようなダイアログが出ます。
“スクリプトエディタ”が”Finder”の制御を求めています。
「OK」をクリックすると、システム設定 → プライバシーとセキュリティ → オートメーション に許可情報が登録されます。後から無効化したい場合はここで操作できます。
追加で必要になる権限
- アクセシビリティ: マウスクリックやキー入力のシミュレーション時
- フルディスクアクセス: 一部のシステム領域のファイル操作時
- 画面収録: スクリーンショット取得時
これらは「システム設定 → プライバシーとセキュリティ」で個別に設定します。AppleScriptが想定通りに動かない時は、まず権限を疑いましょう。
スクリプトメニューに追加して即実行
頻繁に使うスクリプトは、メニューバーの「スクリプトメニュー」に登録すると、いつでもワンクリックで実行できます。
スクリプトメニューの有効化
- スクリプトエディタを開く
- メニューの「スクリプトエディタ」→「設定…」を選択
- 「一般」タブ → 「メニューバーにスクリプトメニューを表示」にチェック
スクリプトの登録
- メニューバーのスクリプトアイコンをクリック
- 「フォルダを開く」→「ユーザのスクリプトフォルダ」
- このフォルダに
.scptファイルを保存
これでメニューバーから一覧表示・実行できるようになります。
Shortcuts.appとの違いと使い分け
macOS Monterey(12)以降、iOSと同じ「Shortcuts(ショートカット)」アプリが標準搭載されるようになりました。AppleScriptと役割が似ているため、混乱する方も多いでしょう。
使い分けの目安
| 用途 | おすすめ |
|---|---|
| シンプルな処理(リマインダー作成、メッセージ送信) | Shortcuts |
| iPhone/iPadと共有したいワークフロー | Shortcuts |
| 条件分岐や複雑なロジック | AppleScript |
| Mail/Safari/Finderの深い操作 | AppleScript |
| シェルコマンドの実行 | AppleScript |
| アプリ化して配布したい | AppleScript |
| 定刻実行(cronのような) | AppleScript + crontab |
なお、ShortcutsからAppleScriptを呼び出す「Run AppleScript」アクションも用意されているため、両者を組み合わせて使うこともできます。

セキュリティ上の注意点
第三者スクリプトの実行は慎重に
インターネットで配布されているAppleScriptをそのまま実行するのは危険です。do shell script で何でも実行できるため、悪意のあるコードを実行してしまう可能性があります。必ず中身を確認し、信頼できるソースのみを使いましょう。
パスワードを含むスクリプトは厳重管理
サーバーログインなどのパスワードをスクリプトに直接書き込むのは推奨されません。どうしても必要な場合は、macOSの「キーチェーンアクセス」と連携する次のような構文を使います。
set myPassword to do shell script "security find-generic-password -a 'username' -s 'service' -w"
do shell script の「危険なコマンド」
do shell script で defaults write や killall、sudo を使うスクリプトは、システムに影響を与える可能性があります。慎重に確認してから実行してください。
活用シーン
シーン1: 日次レポート作成の自動化
毎朝決まった時間に、Calendarから本日の予定を取得し、Mailで自分宛にサマリーメールを送る、といった処理は実用的です。crontabで定刻実行を設定すれば完全自動化できます。
シーン2: 散らかったダウンロードフォルダの整頓
ファイル種別ごとに「画像」「PDF」「動画」フォルダへ自動振り分けするスクリプトを作っておけば、定期的に実行するだけで整理整頓が完了します。
シーン3: 開発作業の起動セット
VS Code、ターミナル、Slack、Safariを特定のレイアウトで一気に起動する「朝の起動セット」を作れば、毎日の作業開始がスムーズになります。
トラブルシューティング
問題1: 「AppleEventハンドラがタイムアウトしました」エラー
原因: 処理に120秒以上かかると標準ではタイムアウトする。
解決法: 該当箇所を with timeout で囲む。
with timeout of 600 seconds
tell application "Mail"
-- 重い処理
end tell
end timeout
問題2: スクリプトが「許可されていません」と出る
原因: オートメーション権限が拒否設定になっている。
解決法: システム設定 → プライバシーとセキュリティ → オートメーション で該当アプリにチェックを入れる。
問題3: 「無効なオブジェクト指定子」エラー
原因: アプリのオブジェクト名(プロパティ名)が間違っている。
解決法: スクリプトエディタの「ファイル → 用語説明を開く」で、対象アプリの正確なオブジェクト名を確認する。
📦 Mac自動化・スクリプト作業におすすめのアイテム
よくある質問(FAQ)
Q1. AppleScriptは古い技術?将来性は?
確かに30年以上の歴史があり「古い」と言えますが、Appleが正式に廃止する予定はなく、macOSの主要な自動化基盤として継続維持されています。Shortcuts.appもAppleScriptを内部で活用しているため、当面は安心して使い続けられます。
Q2. Shortcuts.appと何が違う?
Shortcutsは「直感的なGUIで誰でも作れる」のが特徴で、シンプルな自動化に向きます。AppleScriptは「コードを書く必要があるが、Shortcutsより遥かに細かい制御ができる」性質です。プログラマー寄りの方はAppleScript、非エンジニアならShortcutsがおすすめです。
Q3. セキュリティリスクは?
macOSが「他のアプリを制御する権限」を厳しく管理しているため、ユーザーが許可しない限り危険な操作はできません。ただし、許可した後は強力な権限を持つため、第三者から受け取ったスクリプトは中身を必ず確認しましょう。
Q4. 第三者のAppleScriptを実行しても大丈夫?
原則として「自分が中身を理解できるもの」だけ実行するのが安全です。GitHubで公開されている信頼性の高いリポジトリ(スター数が多い、活発にメンテナンスされている)から取得するのが望ましいでしょう。
Q5. 自動実行(ログイン時など)は可能?
はい、いくつかの方法があります。最も簡単なのは、スクリプトを.app化して「システム設定 → 一般 → ログイン項目」に登録する方法。より柔軟な定刻実行が必要なら、launchdというmacOSのスケジューラ機能を使います。
Q6. スクリプトをスケジュール実行する方法は?
Calendar.appにイベントを作成し、アラート設定で「ファイルを開く」を選び、対象の.appファイルを指定すれば、特定日時に実行可能です。より複雑なスケジュールは crontab -e や launchd を使います。
Q7. iCloud Driveでスクリプトを共有できる?
はい、.scptファイルや.appファイルをiCloud Driveに置けば、複数のMacで共有できます。ただし、ファイルパスを直接指定しているスクリプトは、共有先で動作しない場合があるので、可搬性を考えるなら path to home folder などの相対指定を使いましょう。
まとめ
AppleScriptは、Macの自動化において最も奥深いツールのひとつです。英語的な文法で読みやすく、Apple純正アプリと深く連携できるため、「ちょっとした作業を自動化したい」「定型業務を効率化したい」というニーズに応えてくれます。
本記事で紹介した5つの実用例(Finderリネーム、Safari URLコピー、Mail下書き作成、Music情報取得、通知表示)は、すべて10行前後のシンプルなコードで実現できます。まずは1つを動かしてみて、自分の作業の中で「これ自動化できるかも?」と思った瞬間にスクリプトエディタを開く習慣をつけると、Macライフが一段とアップグレードします。
Shortcuts.appと組み合わせて使えば、より洗練された自動化が可能になります。AppleScriptで「土台」を作り、Shortcutsで「呼び出し口」を整える、というのが2026年時点での王道スタイルと言えるでしょう。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!