vaselly さんが書きました:
エクセルにて表をコピー→メールにペースト→書式→表→表のプロパティ→枠線の太さを1に指定
上記操作を毎日行っていたのですが、2~3日前より枠線の太さが正常に指定されなくなりました。
いつも思うのだが、何をもって「正常」というのか...
その操作をした時の期待は、表の罫線が全部solid/1px/黒になる、ということはわかるが...
もう、マイクロソフトが作り出したHTMLが正しいもので、マイクロソフトのIEの表示が正しい表示である、という人は、ごく少数派になってきてくれたと思っていたのだが...
その操作で何が行われるか、について、理解なさっていますか?
エクセルでの「コピー」において、エクセルが、クリップボードに、おそらくHTML版の<table>のデータを作りだしていて、
それには、HTMLタグだけでなく、おそらくCSSのスタイルが使われていて、
Thunderbirdでの「ペースト」では、そのHTML版の<table>のデータを取り込んで、それをそのまま使うか、何らかの加工をして、HTMLメールのHTMLソースの中の<table>を作り出している。
【以前の表示】について。
Thunderbird 52.1.1で「表の挿入」をすれば<table border="1">が使われて、
そこで「表のプロパティ」の「インラインスタイル」でborder-collapse:collapseを指定するだけで、
お望みの「表の罫線が全部solid/1px/黒だけ」になることを、理解なさっていますか?
Thunderbirdでrowspan/colspanでセルの連結を行おうとすると、はみ出した部分を消すのにえらい苦労しそうなので、エクセルからコピー&ペーストの方が利口そうなんですけどね。
【現在の表示】について。
<table border="1" style="border-collapse:collapse">に加えて、
表の外周については、<table style="border:solid 2px #000000">が追加されているのと似たような表示ですね。
エクセルは、Excel2002でもありますし、おそらく、border-collapse:collapseは使わず、boder-collapse:separateのままでborder-spacing:0pxにして各セルの上下左右の罫線を指定する(0pxにしたり1pxにしたり)、といった手法であろうと思います。
【
border-collapse:separateとcollapseの違い 】
表の複数のセルを連結してできた、サイズの大きなセルの部分では、エクセルはネストした<table>を作り出したはずなので、どこかの<table border:solid 2px #000000>が効いた、といった感じがします。
vaselly さんが書きました:
なお、どのエクセルデータからコピーしても同様で、
見え方(表示のされ方)も、自分のPCから見た状態と、他人(送信先)のPCから見た状態も同じです。
HTMLメールの表示のされ方は、メールの表示に使われたメールのソースで決まりますから、同じメールのデータを見ているのならば、普通は、メーラーが何であれ、同じ表示になります。
不正な構造のメールの場合には、メーラーによって、不正な場所に置かれたパートのデータが添付として見える・見えない、といった違いがでてくるんですけど。
まずは、エクセルから表をコピー&ペーストしてborder="1"にした時点でドラフトに保存し、ドラフトメールのソースを確認しましょう。
エクセルが作り出すHTMLは、この世の中で一番怪奇で醜悪で見にくい、と言えるもの。
全てのセルにstyleが指定してあってそれぞれのセルで上下左右の罫線についてサイズや色や形が指定してあって、簡単に、長大な、人間が全部読み通すのは至難の業、というようなHTMLを作ってくれて、
セルの連結や分割があると、<table>のネストを作り出すので、とんでもなく深い<table>のネストのHTMLを非常に簡単に見ることができる。
その上に、余計なスタイルの指定などが、わんさかとある。
<table>だけでなく、本来は<head>の下にあるはずの<link rel="stylesheet">あたりも<table>とセットでクリップボードに書かれていて、<table>,<th>,<td>などではID指定やクラス指定でCSSが使われていて、Thunderbirdにもそれがコピーされて、最終的に<link rel>は<head>セクションに置かれる、といったことも、可能性としてある。
そして、(A) エクセルなどは、HTMLのタグの属性値(インラインスタイルのstyle="属性値"はその一つ)の途中に改行をいれてしまうことがあるし、
(B) ThunderbirdはThunderbirdで、HTMLソースを72Unicode文字のところで勝手に改行するので、HTMLのタグの属性値の途中で勝手に改行してしまう、という、お粗末な挙動をする。
その時、IEは、エクセルの(A)ような挙動に対する耐性があるから、Thunderbirdの(B)のような挙動にも耐性がある、ということがあるかもしれません。
エクセルが作り出したおかしなCSSの時に、以前のThunderbirdはIEと同じような「以前の表示」だったが、今のThunderbirdは、おかしなCSSをCSSの規則通りに解釈するので「現在の表示」になる、ということもあり得ます。
Thunderbirdの(B)に関しては、送信やドラフト保存でtext/htmlのパート(あるいはメール本文)を作り出す時に行われるので、
Bug 822741のような、エクセルなどからコピー&ペーストした段階ではCSSの指定が有効であるが、送信やドラフト保存の後はCSSの指定が効かなくなってしまう、というような、奇妙な現象が起こり得ます。
Home > Thunderbird > Release NotesVersion 52.0 April 14, 2017、Version 52.1.0 April 30, 2017、Version 52.1.1 May 15 2017 で、52.1.0は待ったがかかったかもしれないので、ここ2~3日で起こるようになったというのは、Excel 2002に大きな変更があったとは考えにくいので、Thunderbird 52.1.0/52.1.1で入った修正による影響かもしれないですね。
その変更で、無駄なメモリーの浪費を押さえるために<table>タグのネストの数の制限が利くようになった、ということがあれば、現象に関係するかもしれません。