2014年2月21日金曜日

VBAでThunderbirdを用いてメールを作成する

【まえがき】


VBAからThunderbirdを呼び出して、メールを作成する方法としては、
などにサンプルコードが掲載されているのですが、実務に使うには足りない部分があるので勝手に補足してみます。

【サンプルコード】


【解説】

メールタイトルや本文などをコマンドラインのオプションとして渡す関係で、一部の文字(空白や&など)は、そのままではメールタイトル(Subject)に使えません。
このため、一旦、メールタイトルに、URIエンコードを施しています。
URIエンコードの方法として、上記サンプルコードではJScriptを用いました。(おそらくVBAにおいては、JScriptを呼び出すのが最短かと思います。)

自分が利用する範囲では、タイトルにおいて問題が生じた程度でしたが、必要に応じて本文もURLエンコードをしてください。

なお、Thunderbirdの起動オプションに、-osintを付けていますが、なんとなく付けているだけで、本当に必要なのかは分かりません。公式資料(MDN)を参照したのですが、あまり要領を得ない説明しか見当たらなかったもので…。もしご存知の方がおられましたらお教え下さい。