2007-09-04
■[Gmail][Greasemonkey][javascript][jQuery] Gmail にテンプレート切り替え機能を付けてみた

- 20071103追記
- Gmail 2.0 では動作しません。そのうち対応するつもり。
- 20080125追記
- Greasemonkey 0.7.20080121.0 だと一部障害(返信時に動作しない)が出てるようです。原因がわかれば対応します。
- 20080129追記
- 0.1.20080129.0でGreasemonkey 0.7.20080121.0 に対応しました。
- 20080423追記
- コメントにもありますが、Gmailのバージョンアップに伴い、旧バージョンに戻しても以前のテンプレートが使用できなくなっています。原因不明なため、対応の目処は立っていません。
- 20080501追記
- Greasemonkeyで連絡先を取得・編集できないため、Gmail 2.0への対応はできません。実現する方法なり、アイデアなりをお持ちの方はコメントお願いします。
- 20080510追記
- Gmail2で動作するように修正してくださった方がいらっしゃいます。今後はこちらをどうぞ。
大抵皆そうなんだろうけど、メールを書く場合決まった形があって、あいさつ文・本文・締め言葉・署名という順番で書いている。以前作ったスクリプト で、署名は差出人に応じて自動的に切り替わるようになったけど、あいさつ文や締め言葉は辞書に登録したりして、毎回入力してたわけです。会社で使っていることもあり、社内と社外で定型文が変わってくるので、辞書に登録した語句を忘れたりしてかなり不便だった。これはさすがに面倒なので、さらに Gmail を快適にすべく、テンプレートを切り替えられる Greasemonkey スクリプトを作ってみた。これで署名が複数あっても、定型文が複数あっても平気ですな。
- ダウンロードはこちら -> Gmail Template Switch
- 不具合報告なんかは こちら からどうぞ。報告するときは 不具合一覧 を見て、重複してないか確認してください。
- リッチテキスト(HTML形式)には対応していません。
このスクリプトの作成にあたり、Gmailの使い方 管理人様にはアイデアを提供していただいたり、テストに協力していただいたりしました。この場を借りて感謝します。
※ 内部で jQuery 1.1.4 を使ってます(以前のエントリ 参照)。これがなかったら途中で挫折してたかも、ってくらい依存してる。jQuery ステキすぎ。
使い方をキャプチャした動画
※ この動画は、下の方にある例を実際に動かしてみたもの。
インストールしたら
まずはメール作成画面に移動。そうすると、作成画面上部と下部の「破棄」ボタンの右にコンボボックスが追加される。
この時点では、スクリプトの初期化処理中なので、なにもできない。
しばらくすると、コンボボックスの中身が変わって、操作できるようになる。
インストール直後は、テンプレートを追加することしかできない。
テンプレートを追加するには
テンプレートとして登録したい状態になるように、いつも通りにメールを作成していく。メールが完成したら、コンボボックスから「差出人を含む(/除く)」を選択する。
そうするとテンプレートの名前を入力するダイアログが表示されるので、好きな名前を入力する。
(先頭「#」のみ特別。意味は後述する)
テンプレートの登録が完了したら、画面上部のメッセージエリアに登録が完了したことを知らせるメッセージが表示される。以後は、入力した名前でテンプレートを呼び出すことができるようになる。
テンプレートとして登録されるのは、「差出人」、「宛先」、「CC」、「BCC」、「件名」、「本文前半・後半(分け方は後述)」。
※ テンプレ―トは最大9個です。
テンプレートを適用すると?
登録したテンプレートに値が入力されている場合のみ、以下のように動作が変わってくる。
- 差出人
- テンプレートの値で入力値を置き換える。
- 宛先、CC、BCC
- 入力値にテンプレートの値を追記する。ただし、すでに入力されているアドレスは除く。
- 件名
- 入力値がない場合だけ、テンプレートの値を入力する。
- 本文
- テンプレートの本文前半、既存の入力値、テンプレートの本文後半となる。
なお、テンプレートを1回適用すると、そのメール作成中はその時の値を記録しておく。以降は、テンプレートを切り替えてもその時に記憶しておいた値に、選択したテンプレートを適用した形になる。
Undoすると、その値もリセットされる。
テンプレート名の先頭「#」の役割は?
差出人を含んだテンプレートのみ有効となる機能で、メール作成開始時に、下の2つのルールを満たすテンプレートを自動的に適用する。
ルールを満たすテンプレートが複数ある場合は、最初に見つかったテンプレートを適用する。
テンプレートの本文の前半と後半の分け方は?
テンプレートに登録するとき、分けたい位置の行頭に「---(改行)」を入れる。たとえばこういう風に入力しておく。
あいさつ文とかを入力。 --- 署名とかを入力。
本文が入力されている状態で、そのテンプレートを適用するとこうなる。
あいさつ文とかを入力。 「テンプレート適用前に入力していた文章」 署名とかを入力。
「---(改行)」が入力されていない場合、本文は前半として扱われる。
例1-a:bccを指定するテンプレートの追加
まずbccにアドレスを指定して、本文にも文章を入力しておく。その状態でテンプレートを追加する。
テンプレートの名前を聞かれるので、「autobcc(名前は何でもいい)」と入力する。
しばらくすると、追加を知らせるメッセージが上部に表示される。
例1-b:bccを指定するテンプレートを使った場合
新しくメールを作成するときに、「autobcc」を選択する。
そうすると、bccに先ほど入力したアドレスが設定される。
例2-a:本文が前半と後半に分かれたテンプレートの追加
まず本文を入力して、分けたい部分に「---(改行)」をいれておく。その状態でテンプレートを追加する。
テンプレートの名前を聞かれるので、「sand(名前は何でもいい)」と入力する。
しばらくすると、追加を知らせるメッセージが上部に表示される。
例2-b:本文が前半と後半に分かれたテンプレートを使った場合
テンプレートを適用する前に、本文が入力されている状態でテンプレートを適用すると、
入力されていた値を挟むような形で、テンプレートが適用される。
例3-a:デフォルトで適用されるテンプレートの追加
前の2つの例だと、メール作成時に手動で適用するテンプレートを選択しないといけない。
それが面倒なら、テンプレートを追加するときに差出人を含むようにして、
「#(半角)」で始まる名前(名前はなんでもいい。ここではdefaultとしておく)を入力する。
例3-b:メールを作成する場合
そうすると、メール作成時の差出人と、「#」で始まる名前のテンプレートで指定した差出人が一致する場合、テンプレートが自動で適用される。
例3-c:メールに返信する場合
返信するときも同じように、差出人が一致したら自動的にテンプレートが適用される。
たとえばこういうメールに返信すると、
引用文を残したまま、「#」で始まる名前のテンプレートが適用される。
アンインストールするには?
このスクリプトはFirefoxのPreferenceと、Gmailの連絡先に設定やデータを保存しているので、両方とも削除する必要がある。
スクリプトの削除
まずGreaseMonkey の「ユーザスクリプトの管理」メニューを選択する。
「関連付けられた設定も削除」にチェックを入れて削除する。
Firefoxのアドレスに「about:config」と入れて、「gts」で検索して出てくる設定値を削除でもOK。
連絡先の削除
次に Gmail の連絡先で、「gts」で検索して出てくる連絡先「gtssettings0」〜「gtssettings9」を削除する。
- http://d.hatena.ne.jp/lifehackdo/20070905
- http://d.hatena.ne.jp/ToMmY/20070905
- links for 2007-09-06
- Gmailにテンプレート機能を追加
- Gmailでテンプレートを切り替える機能を追加するFirefoxのスクリプト
- http://d.hatena.ne.jp/sfujisak/20070915
- Gmail FireFox拡張機能を使って署名を追加する Greasemonkey
- Gmailでの署名の使い分け
- aki03の日記 - Firefoxで便利なアドオン集
- Gmail 2.0 でテンプレートを切り替える
- :Pe日記 - Gmail Template Switch v2.0
- Gmailの新版
- Mattari Memo - 祝 bb2chreaderが外せた記念 Firefoxのアドオンを...
- yuchiの日記 公開用 - [tips]メールの署名にテンプレートをつける
- 2008年後半 WEB担向けニュースで人気だったニュース TOP200+
- takelog@はてな - 今更ながらGmail便利すぎる
- 3902 http://gmail.1o4.jp/signature.html
- 2917 http://gmail.1o4.jp/template.html
- 1181 http://gmail.1o4.jp/
- 1124 http://www.r-stone.net/blogs/ishikawa/2008/05/gmail-20.html
- 540 http://gmail.1o4.jp/tool_idea.html
- 538 http://gmail.1o4.jp/firefox.html
- 383 http://www.google.co.jp/search?q=Gmail+Template+Switch&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 276 http://reguzy.jp/trac/wiki/GmailSignatureSwitch
- 255 http://google-mania.net/archives/609
- 203 http://reader.livedoor.com/reader/





















お願いします。
https://addons.mozilla.org/ja/firefox/user/60582
Better Gmailの作者さんにお願いしてくださいな。
今だと、
07/09/08 に hoge <hoge@example.com> さんは書きました:
> 元メールの本文
というようになりますが、これを適宜修正したいのですが。。
えーと、ごめんなさい。何をやりたいのかわかりません。
引用文を修正したいのなら、すればいいだけなんじゃないでしょうか?
----- Original Message -----
From: ”hoge” <hoge@example.com>
Date: Mon, 10 Sep 2007 15:22:00 +0900
To: ”fob” <fob@example.com>
Subject: Re: こんにちは
みたいになってるとうれしいなーと、前から思っているわけでして。
現在のようなものはちょっと違和感があって。
うーん、それは慣れるしかないんじゃないでしょうか?
特に不満は感じてないので、ちょっと実装するメリットが思いつきません。
すいませんが、要望には応えられません。
今のところ既存テンプレートを編集することはできません。
削除→追加で代用してください。
頻繁に使用する機能ではないので、追加の予定もありません。
対応したいんですが、時間がないのと技術的な問題でいつになるかわかりません。
内部的に大きく変更されているため、ちょっと取りかかる気にもなれない状態です。
気長にお待ちください。
できないことはないような気がしますが、気が進みません。
機能的には現状に満足しているので、機能追加の予定は今のところないです。
これはあったほうが便利だと思ったなら追加するかもしれません。
このたびのGmailのバージョンアップで使用できなくなってしまいました。
Gmail旧バージョンを選択して使おうとしても、
登録してあったテンプレートが選べなくなっています。
是非御対応をお願いいたします。
Gmail2.0に対応させてみましたので、ご参考ください。
コードの使用に問題がありましたら、お知らせくださいませ。
http://www.r-stone.net/blogs/ishikawa/2008/05/gmail-20.html
さっそく試してみました。いやこれはすごい・・・
コードの使用には全く問題ありません。
いつか直さないといけないけど、時間がとれなかったので助かりました。自分もそちらを使わせていただきます。ありがとうございました。