見出し画像

選択した複数行のテキストを、それぞれ個別に検索するKeyboard Maestroマクロ

2024/01/01に修正しました。

ロックオン柳田さんから、こんな連絡をいただきました。

以下の店名をGoogleで一気に検索したいのですが、1店舗名をコピーして、検索窓にペーストして、エンターして、次の店舗名をコピーして、検索窓にペーストして、エンターして・・・・ の繰り返しが凄く手間で、これを解決する方法、ご存じないですか?

・リトルランカ
・ナラヤニ
・小宇宙食堂
・イサラ

Chromeの機能拡張も探してみたのですが見当たらず。

マクロの中身

Keyboard Maestroでマクロを組んでみました。Google Chromeのみだと、次のように設定します。

  • クリップボードの内容を変数「local_list」に入れる

  • 次の処理を行ごとに繰り返す(行ごとに変数「lineVar」に入れる)

    • [ファイル]メニューの[新しいタブ]をクリック

    • 変数「lineVar」をクリップボードに

    • ペースト

    • Returnキーを押す

キモは「For Each」アクション

今回は、次の文字列がクリップボードに入っています。これを1行ずつ取り出すわけですが、その際に活躍するのが「For Each」アクションです。

・リトルランカ
・ナラヤニ
・小宇宙食堂
・イサラ

この図だと変数「local_list」から1行ずつ取り出し、変数「lineVar」に入れる
という意味です。

行頭の「・」や「-」を削除する

このマクロを使うユースケースを想定すると、対象文字列の行頭に「・」や「-」がついている可能性が高いでしょう。

・リトルランカ
・ナラヤニ
・小宇宙食堂
・イサラ

そこで、正規表現の検索置換で行頭の「・」や「-」を削除します。

(?m)^・
(?m)は複数行を対象にするときの“おまじない”です。

変数をペースト

「変数をクリップボードに入れてからペースト」は、なんだかまどろっこしいです。

Insert Textアクションを使えば、1ステップで済みます。

もっといいやり方

「New Google Chrome Tab with URL」アクションを使い、引数に「https://www.google.com/search?q=%Variable%lineVar%」を設定すれば、Insert Textアクションを使うよりも、ずっと速く実行できます。

こちらの記事も参照なさってください!

備考

ブラウザーの利用時、次を可能にするマクロ集にも追加しています。

  • 現在、開いているウェブページのタイトルとURLをテキスト(Markdown、HTML)でクリップボードに入れる

  • 現在、開いているウェブページをパラメーター抜きで開き直す

  • 現在、開いているウェブページを異なるブラウザーで開き直す

  • 現在、開いているウェブページのURLを、QRコードの画像ファイルとしてデスクトップに書き出し

  • 現在、開いているウェブページのURLをweblocファイルとしてデスクトップに書き出し

  • ペースト時にカンマ削除

  • 複数のURLリストを一斉に別タブで開く(URL以外の文字列が入っていてもOK)

ブラウザーによっては拡張機能で実現できますが、Google Chrome、Safari、Firefoxを対象に同じキーボードショートカットで使えます。

ダウンロード

アップデートしました(2024年1月1日)。

Google Chromeのみ

Google Chrome、Safari、Firefox対応

ここから先は

0字 / 1ファイル
月に10-20本くらいの記事を投稿しています。定期購読されると、更新のお知らせを受け取ったり、マガジン限定記事やサンプルファイルをダウンロードできます。 購読を開始した月に更新された記事から読むことができます(初月無料)。

DTP Transit 定期購読マガジン

¥100 / 月 初月無料

マガジン限定記事やサンプルファイルをダウンロードできます。

定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5