Keyboard Maestroで「Path Finderで選択したファイルを特定アプリで開く」プラグインを作成する方法

Keyboard Maestroで、Finderで選択したファイルを特定アプリで開きたいときは「Open the Finder Selection」アクションを使うと簡単に実現できます。
しかし、Path Finderを使っている人は変数を使ったり条件分岐やAppleScriptを組み合わせてようやく実現できます。
マクロが長くなってしまうと見通しが悪くなってしまいますし、時間が経ってから見返したときに、何をやっているのか分からなくて混乱してしまいます。
そこで、Third Party Plug InsでPath Finderで選択したファイルを特定アプリで開けるようにしてみました。
Third Party Plug Insについて
Third Party Plug Insの作り方や必要ファイルは過去に紹介したので、そちらをご覧ください。
Keyboard Maestro Action.plist
入力欄ではTokenStringを使用して、アプリ名を入力するようにします。
本当は「Open the Finder Selection」アクションと同じように、アプリ一覧が表示されるセレクトボックスを表示させられると良いのですが、Third Party Plug Insでは用意されていませんでした。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Name</key>
<string>Open the Path Finder Selection</string>
<key>Script</key>
<string>Action.scpt</string>
<key>Icon</key>
<string>Icon.png</string>
<key>Title</key>
<string>Open Path Finder Selection '%Param%Open Path Finder selection with%'</string>
<key>Parameters</key>
<array>
<dict>
<key>Label</key>
<string>Open Path Finder selection with</string>
<key>Type</key>
<string>TokenString</string>
</dict>
</array>
</dict>
</plist>Action.scpt
入力欄の「Open Path Finder selection with」の値を取得したいので、「set appName to system attribute “KMPARAM_Open_Path_Finder_selection_with”」でappName変数に入力した値を入れています。
あとは、appNameをもとにアプリを取得して、Path Finderで選択しているファイルを開くだけです。
set finderSelection to ""
set theTarget to ""
set appName to system attribute "KMPARAM_Open_Path_Finder_selection_with"
set appPath to path to application appName
set defaultTarget to (path to home folder as alias)
tell application "Path Finder"
set theTarget to {}
repeat with pfItem in (get selection)
set the end of theTarget to POSIX path of pfItem
end repeat
end tell
tell application appName
open theTarget
end tell使い方
使うときはThird Party Plug Insに追加されている「Open the Path Finder Selection」をマクロに追加して、入力欄にアプリ名を入力すればOKです(正確に入力する必要があります)。

まとめ
やっていることは、今まで使っていたAppleScriptを外部ファイル化して、Keyboard Maestroの入力欄と繋げているだけなので、コードの関数化に近いです。
今まで複数のアクションを使っていたことが1つにまとめられて、管理もしやすくなりました。


Google Driveでフォルダのコピーをする方法
Apple Watchの余計な通知を来ないようにして快適にする方法
Keyboard Maestroでダークモードかどうか判定して、条件分岐で処理を変える方法
Path Finderの「閉じたタブの開き直し」ショートカットキーを他アプリに合わせる
複数のアプリをまとめて管理できるBiscuitを便利に使いこなすための設定方法
Alfred 4のAppearance Optionsから外観の設定を行う
Path Finderのフォルダ移動ショートカットキーを設定する【デフォルト設定 + Keyboard Maestro】
BetterTouchToolを使って、ショートカットキーでAirPods ProをMacBook Proに接続する方法
macOSのシステム環境設定「インターネットアカウント」の設定見直し
Macのファイル拡張子に紐づいているアプリケーションの管理方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
AirPodsで片耳を外しても再生が止まらないようにする方法
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法