• 締切済み

メールソフト「サンダーバード」、本文にエクセルの表を貼り付けて受信側に数値だけでなく枠も表示させる方法

タイトルの通りですが、添付ファイルで送信するのではなく、メール本文にエクセルで作成した表を貼り付け、受信側で数値だけでなく枠も表示させる方法はありますか? エクセルの範囲をコピーして張り付けて送信ところ、受信側ではエクセル上の枠が消えて、セルに入力した数値だけがメール本文に表示されています。 (添付写真参照) 自分でも色々と試してみましたところ、回りくどい方法になりますが、下記方法でメール本文に貼り付けられました。 (1)エクセルの対象範囲をコピー。 (2)ペイント起動、貼り付け。 (3)jpg形式で保存。 (4)保存したjpgファイルをコピー。 (5)サンダーバードの送信本文の任意の場所に貼り付け。 (6)HTML形式で送信。 jpgファイルを使用する以外の方法をご教示お願いいたします。

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

エクセルは、たかがMicrosoft Ofiiceの一アプリケーションに過ぎない。インターネットメールは、UnixやMacや携帯電話や様々なパソコン端末で使うもの。いくら身の回りにありふれていても、一仕様に過ぎません。  そんなアプリケーションデータをメールに同居させるのは、オラがルールを押し付けるようなもの。  どうしてもなら、HTMLメール(これはNetscapeが始めたローカルルールですが)にして貼り付けるしかない。(ThunderBirdは先祖は、血はつながってないけどNetscapeMailなので)  エクセルの表をHTMLのtableにして、貼り付ければ可能です。 そのままHTMLで別名保存してもよいのですが、あまりにも冗長なものになるので、一旦テキストデータ(タブ区切りテキストデータ)にして保存して、テキストエディタでtableに変換します。 1) 表部分をコピー 2) 新規ブックを作成しそれに「値だけ貼り付けます。」 3) そのシートを名前をつけて保存でタブ区切りテキストで保存。   紛らわしいので、tsvとしておくと良い 4) 出来上がったtsvファイルをテキストエディタで開いてHTMLのtableデータに変更する。  正規表現を使った置換処理になります。  1. ^→<tr><td> 行頭を置換  2. $→</td></r> 行末を置換  3. \t→</td><td> タブを置換  4.最後に全体を <html> <body> <table border="1"> ・・・ここにのデータ <tr><td>**</td></tr> ・・・ここまで </table> </body> </html>  5.このファイルを任意の名称--tet.htmlとして保存しブラウザで開く  その画面を全選択(Ctrl+A)して、コピー(Ctrl+V)でメール送信文に貼り付ける。  これで再利用可能な表データとして貼り付けられます。なかtable(表のデザインは任意に編集すると良いですが、あまり手を加えると再利用が難しくなる。  ただ、セルの結合などをしている部分はcolspan,rowspanの指定をしておくとよいでしょう。  

hyokohama
質問者

お礼

回答ありがとうございます。 私がペイントを使用して貼り付けた方法の方が簡単で分かりやすいですので、残念ながら参考になりませんでした。