メール返信するときに引用符がつかないのでPowerShellでスクリプトを作ってみた件

引用符(>)が欲しい

メールの返信を書くときの話ですけど、

届いたメールを選んで、返信ボタンを押すとこういう感じで「>」(大なり記号)の引用符が出てくることがあります。

これがあると、届いたメールの一部をコピーして、その部分にだけピンポイントで返事を書くようなことができるわけです。

で、メールソフトとしてWindowsのOutlookを使っている場合は、テキスト形式のメールに対する返信だとこのような書き方ができます。
しかし、HTML形式とかで届いたメールに返信しようとするとこの引用符(>)が出てくれないのですよね。

設定によりますけど、こういう青い直線が出てきたりして、

うまくいくのかな?と思ってコピーすると何も引用符がつかないという感じになります。

私、メールの返信するときには届いたメールを引用しながら書きたいというケースが多いのです。
そんな時はちまちまと1行ずつ「>」を付けたりしていたのですけど、ちょっと面倒だと思っていました。

しかし、そろそろ新しい行動様式をとらないといけないと思ったので対策することにしました。

なお、普段の私はWindows 10のメールアプリを使うことが多くて、たまにOutlookを使うこともあるという感じです。

Outlookの画面をキャプチャしてここまで貼り付けてきましたけど、Windows 10のメールアプリも引用符付かないですね。そこは同じです。

PowerShellのスクリプトでやってみる

対策するといってもどうやるのがベストなのかわからないのですが、とりあえずWindowsに入っているPowerShellでできるんじゃないのかなと思って調べてやってみました。

準備はざっくりと以下のような感じです。

  1. 「クリップボードにコピーしたテキストに『> 』を付けるPowerShellスクリプト」を動かすようなbatファイルを用意する。(なんかややこしい)

このbatファイルを準備すると、

  1. 引用したいテキストをコピー
  2. スクリプトのbatファイルを実行
  3. ペーストすると引用符がついている

という手順で引用符をつけることができました。

クリップボードのテキストに「> 」を付けるスクリプト(PowerShell)を動かすbatファイルを用意する

というわけで、本題となるbatファイルを作ります。

いろいろ調べた結果、次のようなコード(一応最後に改行入れておく)をメモ帳などで書いて、ファイル名を「clip引用符付加.bat」などにして保存すればOKという感じでした。

@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof
$outputencoding=[console]::outputencoding
Get-Clipboard -Format Text | ForEach-Object { "> $_" } | clip

この書き方はこちらを参考にさせていただきました。

PowerShellメモ クリップボード操作 - Qiita
■概要クリップボードから値を取り出したり、クリップボードに値を設定したり。■クリップボードから値を取得◇テキストを取得Get-Clipboard -Format Text実行例)…
クリップボードに値をコピーする (PowerShell Tips)
バッチファイルから PowerShell を呼び出す方法 - Qiita
背景PowerShell でスクリプトを書くメリットの一つとしては、Windows7 以降ならデフォルトで入っているので、Windows を使っている人になら書いたスクリプトを渡して、そのまま使え…

実行結果

というわけで、早速使ってみます。

メールの中の引用したいテキストをCtrl+Cあるいは右クリックのメニューでコピーしてから、先ほど作っておいた「clip引用符付加.bat」をダブルクリックします。

一瞬、コマンドプロンプトの黒い画面が出て消えるので、それを見届けたら貼り付けたいところにCtrl+Vなどでペーストします。

すると、こういう感じで引用符付きで貼り付けられました。

よし!

……よく見ると、なんか最後の行に1個無駄に引用符が出てしまっているのですけど、いまいち直し方がよくわからないのでそれは手動削除で対応することにしました。

まだ手間はかかりますけど、随分楽になりました。

もっと便利に

ついでにもう1歩だけ楽をするために、「clip引用符付加.batの入っているフォルダを開いて、clip引用符付加.batをダブルクリックする」という作業を省略してみることにしました。

適当なフォルダを作成して、そこに先ほどの「.bat」ファイルを入れます。
とりあえずフォルダ名は「引用符」にしました。

あとは、Windowsのタスクバー(画面下の黒いところ)の右クリックから、ツールバー→新規ツールバーと進んで、今作った引用符フォルダを選択。

すると、タスクバーの端っこに「引用符」と出てくるようになります。

その横の「>>」をクリックすると、さっきの「clip引用符付加.bat」が出てくるのでそれをクリックすることで、さっきのスクリプトが動くようになります。

これくらいまで楽になれば、私としてはもう十分です。

まとめ

そんな感じでできました。

正直スクリプトの中身はよく理解できていませんし、そこまでメールの返信を書く機会あるのかっていうと実はそんなに多くはないなと思ったのですけど、とにかく面白かったので良しです。

こういうのをもっとスマートに扱えるようになりたいものです。そして楽したいです。

おわり。

コメント

  1. linokazoo より:

    グループウエアを使用しているいるのですが、ブラウザを使用しており相手に対しての返信の際に引用を使用することが多々あります。

    たいてい、メールの返信の機能にはこのような機能が備わっているのですが、回覧板へのコメントやダイレクトメッセージなどの機能には引用をする機能はなく、このような機能が欲しくて気になっていました。

    また、チャットワークなどでも、複数人数でのチャットは話の流れが速く、何のことに対しての返信なのかわからなくなることがあります。そんな時、引用などに使用する際には便利に使えて便利です。

    ソフトで作るような代物でもないのでお手軽に設定できて便利です。

    素晴らしい情報をありがとうございます。

    • prinkuma prinkuma より:

      結構頻度が多いのですね。
      私もこれ作った後、わりと使う機会があることに気付きました。
      ソフト側で引用符つけてくれているとありがたいのですけども……。
      とにかくお役に立てて良かったです!

タイトルとURLをコピーしました