MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

HTMLメール作成時、表の前に普通の文字を追加したい
https://forums.mozillazine.jp/viewtopic.php?f=3&t=16867
ページ 11

作成者:  ぼんぽん [ 2017年11月14日(火) 13:57 ]
記事の件名:  HTMLメール作成時、表の前に普通の文字を追加したい

HTMLメールを作って、最初に表を作ってしまうと表の前に文字を追加することができません。
表をカットすればできるようですが、これ以外に方法はないでしょうか?

作成者:  meeyar [ 2017年11月16日(木) 00:13 ]
記事の件名:  Re: HTMLメール作成時、表の前に普通の文字を追加したい

※まずはOSの種類やThunderbirdのバージョン等を明記ください。
ぼんぽん さんが書きました:
HTMLメールを作って、最初に表を作ってしまうと表の前に文字を追加することができません。
表をカットすればできるようですが、これ以外に方法はないでしょうか?

メッセージ作成時に一度改行(Enter空うち)してから表を挿入するのではどうでしょうか。

作成者:  偶然的通行人 [ 2017年11月17日(金) 16:46 ]
記事の件名:  Re: HTMLメール作成時、表の前に普通の文字を追加したい

※質問するときは、「フォーラムの利用に関するご案内」、とりわけ「質問するときは」に目を通し、OS の種類や Thunderbird のバージョンといった使用環境についての最低限の情報を書き添えることをお勧めします。

横から失礼します。

HTML 形式で開いた Thunderbird のメッセージ作成ウィンドウで、本文を書く画面の先頭に表(テーブル)を挿入してしまうと、表より上にカーソルを移動できなくなり、ご質問のようなことが起こります。
一般的には、メール本文がいきなり表で始まるというより、前文的な説明のあとに表が入ることが多いでしょう。そういう観点からは meeyar さんが仰るように、メッセージ作成時にどういう位置に表を挿入するかを考慮した操作を習慣づけたほうがいいように思います。

ですが、うっかりメール本文の先頭に表を入れてしまうこともあるでしょう。この場合、表を活かしたまま、その上に行を追加する方法が、あるにはあります。

1. メール本文を書く編集画面にカーソルがある状態で、メニューバーから [編集] -> [すべて選択] 、または右クリックから [すべて選択] 、またはキーボードの [Ctrl] + [A] を実行し、表を含むメール本文全体を選択します。

2. その状態のままメニューバーから [挿入] -> [HTML] を選択すると、[HTML を挿入] というタイトルのウィンドウが開き、[HTML タグと文字列を入力してください:] の欄に、選択されたメール本文の HTML ソースが表示されます。

3. ご質問のケースでは、先頭が <table cellspacing="X" cellpadding="Y" border="Z" width="W%"> のようなタグ行になっているはずです。
  (X 、Y 、Z 、W は、表=テーブルを挿入した時にユーザーが設定した、あるいはデフォルトの数値になっています。)

4. この <table ~ 行の先頭にカーソルを持っていき、
<br>
のタグを書きます。
<br><table ~
という具合になればいいです。

5. 下段の [挿入] ボタンでこのウィンドウを閉じます。

6. 編集画面に戻ると、最上位に位置していた表の上に1行分の空行ができているのがわかるでしょう。この行にカーソルを持っていけば、表の上側に文字を入力することができます。必要なら、この空行にカーソルを置き、追加したい行数(段落)の分だけ [Enter] キーを押して空行を作っておくといいかもしれません。

(補足説明)
HTML メールにおける改行(段落)は、ざっくり言うと次のようになります。

まず、電子メールの基本となるプレーンテキスト形式では、[Enter] キーを押せば、単純に改行コード(通常、不可視)が挿入されます。これは、テキストエディタなどで文字を入力している時と同じで、改行コードによって、その行が終わり、次の行に移ったことを制御しています。

一方、HTML 形式での改行は、HTML タグで定義され、通常の改行コードは無視されます。
ご質問のようなケースでのメール本文の先頭は表(テーブル)になっていて、HTML タグは <table ~ で始まっているはずです。なので、この前に <br> タグを置けば、表の前にひとつ改行を入れたことになります。
一般に HTML 形式のメールでは、改行の <br> タグ、段落の <p> タグで、文字列の終わりと折り返し、区切りが表わされます。
<br> タグは単体で使用し、このタグが置かれたところで次の行に移ったこと=改行を表します。
<p> タグは終了の </p> タグとセットで使われます。<p> と </p> の間に書かれた文字列が、ひとまとまりの段落(パラグラフ)として表現されます。

オプション設定の [編集] -> [HTML] -> [既定で本文テキストの代わりに段落書式を使用する] の設定によって、HTML 形式で開いたメッセージ作成ウィンドウでの [Enter] キーの動作が変わります。チェックを入れて有効にすれば [Enter] キー押下で <p> タグが使われます。チェックを外して無効にすれば、[Enter] キー押下で <br> タグが使われます。

ご承知のように、HTML 形式のメールは HTML や CSS の規格に基づきメール全体の体裁を定義しています。たいていの場合、ワープロソフトで文章を書く感覚で使えると思いますが、何か特別なニーズがある場面や、今回のような事例に対応するには、HTML の知識(初歩的なもので十分ですけど)が必要になることがあります。

とりあえず以上です。的外れな話になっていたらすみません。

(おことわり)
現在、健康上の制約により不定期な書き込みしかできなくなっています。すぐに応答できない場面がかなり多くなりますことを、ご容赦ください。

作成者:  mar [ 2017年11月26日(日) 18:49 ]
記事の件名:  Re: HTMLメール作成時、表の前に普通の文字を追加したい

ちょっと気になったので調べてみました。

古いバグが登録されています。
Bug 692745 - Cannot insert text above a table (DUPLICATE of Bug 535475)
Bug 535475 - After pasting a table I am unable to leave table editing mode

バグのコメントにもありますが、期待する動作としては、
Word のように最初のセルの先頭で Enter キーを押すと表の前に改行が挿入される動作ですね。

表の前に空白行を挿入する - Microsoft サポート

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/