Finderで選択したフォルダを特定のアプリケーションで開くAlfred Workflowの作り方

以前「Finderで選択したフォルダをVisual Studio Codeで開くWorkflowの作り方」を記事にしたのですが、今回はVisual Studio Code以外のアプリケーションにも対応したくなってきました。
そこで、アプリケーション名を入力したら、そのアプリケーションで選択フォルダを開くWorkflowを作ってみました。
Workflowの作成
まずはAlfredの環境設定の[Workflows]のサイドバー下の「+」ボタンを押し、「Blank Workflow」をクリックして必要情報を入力します。
今回の場合は「選択したフォルダを特定のアプリケーションで開くWorkflow」なので、名前は「Open with Application」としておきます。

キーワードの重複を修正
今回のWorkflowのキーワードは「o(openの頭文字)」が覚えやすくていいのですが、「o」は既にFile Search機能の「Opening Files」の起動で使っていました。
もし、設定している人は[Features]→[File Search]の「Opening Files」の「o」を「open」に戻しておくか、別のキーワードに設定しておきましょう。
![[File Search]のOpening Filesを「o」以外に設定しておく](https://webrandum.net/mskz/wp-content/uploads/2019/09/image_2-21-1024x590.png)
正直、「Opening Files」はAlfred起動後にspaceを入力しても発火してくれるので、キーワードから発火することはほとんどありません。
キーワードリストの設定
黒い背景部分を右クリックして、[Inputs]→[List Filter]を選択します。
「Keyword:」には「o」を設定、あとはタイトルやサブタイトルを入力していきます。

選択肢の「Title」と「Subtitle」は何でもいいのですが、「Arg」に関してはアプリケーション名を正確に入力するようにしてください。
正確に入力するためには、Finderの「アプリケーション」フォルダへ行って、直接アプリケーション名をコピーするのが1番です。
ひと通り登録し終わったら「Save」を押して保存します。
選択アプリケーションで開く設定
Keywordの右横にあるポッチをクリックして、[Actions]→[Run NSAppleScript]を選択してAppleScriptを入力します。

今回使用するAppleScriptは、前回の記事で使用したコードを更に改良しています。
on alfred_script(q)
set finderSelection to ""
set theTarget to ""
set appName to q
set appPath to path to application appName
set defaultTarget to (path to home folder as alias)
tell application "System Events"
set selectApp to name of the first process whose frontmost is true
end tell
-- comment line above and uncomment line below to open desktop instead of user home when there's no selection or open folder in the Finder:
-- set defaultTarget to (path to desktop folder as alias)
if selectApp is "Finder" then
tell application "Finder"
set finderSelection to (get selection)
if length of finderSelection is greater than 0 then
set theTarget to finderSelection
else
try
set theTarget to POSIX path of the target of the front finder window
on error
set theTarget to defaultTarget
end try
end if
tell application "Finder"
open theTarget using appPath
end tell
end tell
else
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
end if
end alfred_scriptqには直前のWorkflow ObjectであるList Filterの引数(Arg)が入力されるので、ここに選択したアプリケーション名が入って、開いてくれるというわけです。
まとめ
開きたいアプリケーションの追加・削除などの整理はList Filterで簡単にできます。
よく使うアプリケーションはKeyboard Maestroなどでショートカットキーから開けるようにした方がラクですが、たまにしか開かないアプリケーションはショートカットキーを覚えるのも面倒なので、Alfredから開けるようにした方が良さそうですね。


BetterTouchToolでウィンドウリサイズ用のショートカットキーを設定する
Sketchのメニューバーにショートカットキーを割り当てる方法
macOSで画面を拡大縮小するズーム機能の設定
Macユーザーにオススメのスニペットアプリ「Dash」でコードや定型文の管理を行う
Illustratorの環境設定ファイルを再生成する方法
Karabiner-Elementsでcommand単体押しで英かなキーを送信するように設定するとcommand + クリックが効かなくなる問題の修正
macのFinderで不可視ファイルを見れるようにする幾つかの方法
ATOKで英単語変換時に、すべて大文字・小文字の状態で変換する方法
Path Finder 8のウインドウにターミナルを追加して使用する
Gmailの確認不要なメールを整理してスッキリさせる
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
文章を書くことだけに集中できる、高機能でシンプルなデザインのテキストエディタ「Ulysses」
Dashの環境設定やスニペットのバックアップ・同期方法
ImageOptimをターミナルから起動する方法
Bartender 4のShow for Updates機能を使って、AirPodsに接続しているときだけ「ToothFairy」のアイコンを表示させる
ポモドーロテクニックの起動し忘れを防止するために仕事開始時にメッセージを表示させたり工夫をする
Path Finderがメジャーアップデートで今後はサブスクリプションモデルに!
Google Chromeの開発者ツールに出てくる「[Deprecation] chrome.loadTimes() is deprecated」に関して
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
1Passwordでウェブサイトの入力フォームを一瞬で入力する方法
FontExplorer X Proのアプリケーションセット機能で、アプリを起動したタイミングで自動的にフォントの有効化を行う方法