Automater – テキストの全選択 – 削除 – クリップボードからペースト

Automater – テキストの全選択 – 削除 – クリップボードからペースト

WordPressでメディアライブラリのタイトル等を変更したいと思った時、膨大なファイルの名前を変更するのが大変であった。
テキストのある状態から、まずそのテキストを全選択する、選択したテキストを削除、クリップボードにあるテキストをペースト。

これを繰り返す必要があったのだが、これをキーボードショートカットで一発で変更したいと思い、Automaterを使ってできないか?という思いでやってみた。

この一連の流れをAutometerにやってもらう。

Automaterでの基本入力

Aoutomaterでクイックアクションを選択。

検索でAppleと入れる。
「AppleScriptを実行」をワークフローに入れる。

「AppleScriptを実行」に以下のようなコードを入れる。

on run {input, parameters}
	tell application "System Events"
		keystroke "a" using {command down} --全選択(command+A)
		delay 0.1
		
		key code 51 -- delete
		delay 0.1
		
		keystroke "v" using {command down} --ペースト(command+V)
	end tell
end run

これで完成。あとは保存する。
その時ダイアログが出るので、保存する名前を「全選択-削除-ペースト」とする。

これで「全選択-削除-ペースト」のAutometerの完成になる。

この作成した状態で作業したいテキストを右クリックで「サービス」から「全選択-削除-ペースト」を選択することが出来るようになる。

しかし、以下のキーボードショートカットを作成すると、この右クリックから選択できなくなるので注意。

キーボードショートカットを設定する

やはりメニューから選択するより、一発で実行できるようになるキーボードショートカットは魅力である。

「システム設定」から「キーボード」、「キーボードショートカット」をクリック。

左サイドの「サービス」から「一般」を開くと作成した名前が出てくるので、その右端になしとなっているところをクリックすると入力できるようになるので「シフト+コマンド+F」とキーボードで入れる。

このショートカットの指定の仕方は他のと被らないなら何でも良い。

これでキーボードから「シフト+コマンド+F」とすると実行されることになる。

しかし、これはテキストアプリで作成された場合はうまくいく。多分Macのアプリで動作するのは他にもあると思うが、サファリのWordPress内で扱うテキストの場合はうまくいかなかった。

少し頭が混乱しているのでまとめて見る。

Automatorを使用してSafari上のWebサイトからテキストを抽出・処理するための主な設定とアクション

    サービスメニューとキーボードショートカットからの実行

    これってどちらも同時に実行することができない?

    これはシステム環境設定での設定に大きく影響している。

    キーボード -> キーボードショートカット -> サービス -> 一般

    ここで、作成した全選択削除ペーストにチェックを入れてキーボードショートカットを設定することで「ショートカット」が使えるようになる。

    右クリックからのサービスメニューからの実行

    これを実行できるのは、Automaterで「ワークフローが受けとる現在の項目:テキスト」になっている必要がある。これ以外はサービスの中に表示されなくなる。

    また「ワークフローが受けとる現在の項目:テキスト」になっているとキーボードショートカットが機能しなくなる。「ワークフローが受けとる現在の項目:自動(なし)」にすると機能する。

    お互いトグルのような関係になる。

    最終的にキーボードショートカットを使った実際の設定

    ここで両方が機能するにはどうすれば良いのか。たぶん無いと思う。

    「入力なし」になっていると、「キーボードショートカット」が機能する。私はこれを使っている。

    「テキスト」になっていると、サービスメニューが機能する。

    サファリのテキストでショートカットを使うには更に以下の設定が必要

    実際の割り当て方
    「キーボード=>キーボードショートカット->アプリのショートカット」から、「全てのアプリケーション」の中に+ボタンで追加する。

    上では既に作成されているが、+ボタンをクリックすると、以下の画面で作成することが出来る。
    最終的には入力が完了すると、上の画面のように追加された状態になる。

    これでメニューにも、以下のように表示されることになる。
    これが表示されるようになると、Safariでもキーボードショートカットが使えるようになる。

    長い道のりであったが無事使えるようになった。

    最終的にSafariでも全てのアプリで使えるようにするには、以下の設定になっている。

    ポイントは、サファリのサービスメニューに、作成した名前の右端にショートカットのコードが表示されているかどうかと言うことになる。

    もし、表示されていないなら、「アプリのショートカット」から設定する必要があると言うことになる。