HTMLソース編集したいNo.02907
カンポ さん 11/03/20 01:32
 
HTMLメールを作っていて、秀丸メール搭載機能ではできないことを
したい場合、ソースを編集するしかないわけですが、現状は、
明示的なソース編集機能がありません。

とりあえず見つけた裏技的(?)な方法は、

HTMLメールの編集のチェックを外すとテキスト形式に変換するか
どうかを聞かれるのでそこで「いいえ」をクリックしてソースを
表示させて、編集が終わったらまたHTMLメールの編集に戻る

という方法です。

しかし、これには大きな欠点があります。

テキスト形式に変換するかどうかというダイアログで
うっかり「はい」をクリックしたらすべての苦労が水の泡に
なってしまうことです。

そこで、明示的なソース編集機能を付けて欲しいです。
上記のようにしてできるということは、あとはUIだけだと
思っているんですが、そんな単純なことではないのでしょうか。

あとは、再度ソースを表示させてみるとタグが微妙に
いじられていますが、これはどうしようもないんでしょうね。

[ ]
RE:02907 HTMLソース編集したいNo.02909
秀まるお さん 11/03/21 12:07
 
 とりあえず、マクロでやるとしたら、

    loaddll "tkinfo.dll";
    if( dllfunc("IsHtmlMailViewerVisible") ) {
        #n = dllfunc("HtmlEdit", "offonly");
    } else {
        #n = dllfunc("HtmlEdit");
    }


 になります。これを使ってON/OFF切り替え出来ますけど、どうでしょ?

 秀丸メール側でなんとかするとしたら、 HTMLメール編集ON/OFF時の問い合わ
せメッセージのデフォルトボタンを「いいえ」にしたら、そっちの方が安全でい
いかなぁという気はします。ただ、他のメールソフトではそもそもHTMLメールの
ソース編集モードのような機能自体存在しないのがほとんどだと思うので、現状
の秀丸メールは自由度という点ではだいぶがんばってる方じゃないかと思いまし
て、それにさらに「ソース編集モード」のようなコマンドまで追加すると、普通
のユーザー様にはなんのことだかわかりにくくて混乱してしまうような気がしま
す。

> あとは、再度ソースを表示させてみるとタグが微妙に
> いじられていますが、これはどうしようもないんでしょうね。

 WebBrowserコントロールに渡すと勝手に書き換えられるので、仕方がないと思
います。

[ ]
RE:02909 HTMLソース編集したいNo.02910
カンポ さん 11/03/22 03:33
 
> とりあえず、マクロでやるとしたら、
--(snip)--
> になります。これを使ってON/OFF切り替え出来ますけど、どうでしょ?

マクロで可能なんですね。早速マクロ登録しました。
これで十分です。ありがとうございます。

> WebBrowserコントロールに渡すと勝手に書き換えられるので、仕方がないと思
>います。

なるほど。了解です。

ありがとうございました。

[ ]
RE:02909 HTMLソース編集したいNo.02911
カンポ さん 11/03/23 21:58
 
解決したと思っていたのですが、

>    loaddll "tkinfo.dll";
>    if( dllfunc("IsHtmlMailViewerVisible") ) {
>        #n = dllfunc("HtmlEdit", "offonly");
>    } else {
>        #n = dllfunc("HtmlEdit");
>    }

こちらのマクロを使ってオンオフを切り換えた場合、
HTML→ソースの場合は問題なかったのですが、
ソース→HTMLのときにヘッダのすべてで文字化けが起きました。

欧文特有の文字をshift_jisで見ているような感じかな。
欧文特有の文字とその前後の文字が合体して漢字になってしまうんです。

投稿の最初に書いた方法で切り換える場合は何度切り換えても問題はありません。

マクロの問題でしょうか?

[ ]
RE:02911 HTMLソース編集したいNo.02912
秀まるお さん 11/03/24 11:38
 
 とりあえずこちらで簡単にテストした限りは大丈夫みたいですけども、HTML
メール用のテンプレートによっておかしいパターンがあるのかもしれません。

 何かHTMLメールを作成する用にテンプレート指定されてるとしたら、それの内
容を教えていただけるとこちらでも再現出来るかなぁと思います。

 と、その前に、欧文文字のように化けてしまう現象は、以前の秀丸メールで出
たことがあります。もしかして秀丸メールおよびHTMLメール編集アドインが最新
でないようでしたら、最新版を入れて欲しいです。それで直る可能性が高いよう
な気がします。

 最新版は、秀丸メールがV5.62(か、5.70βでもいい)、
 HTMLメール編集アドインがV1.04になってます。

[ ]
RE:02912 HTMLソース編集したいNo.02913
カンポ さん 11/03/24 12:24
 
> とりあえずこちらで簡単にテストした限りは大丈夫みたいですけども、HTML
>メール用のテンプレートによっておかしいパターンがあるのかもしれません。
>
> 何かHTMLメールを作成する用にテンプレート指定されてるとしたら、それの内
>容を教えていただけるとこちらでも再現出来るかなぁと思います。

テンプレートは、別件で先日メールでお送りした、「次のパターン」
を適用しています。ふと思いついて「パターン1」を試したところ、
こちらは大丈夫でした。

欧文のHTMLメールを転送しようとすると自動的に欧文を引き継いで
HTMLメール作成ウィンドウが開くのですが、このときに、マクロで
切り換えると文字化けが発生するようです。

$(SetHeader,Content-Type,"text/html; charset="+$(RootCharSet))$-

これが何か影響しているのでしょうか。

メニューの[表示]-[HTMLメール編集]を使って切り換える場合は
問題ないんですけどね。

> 最新版は、秀丸メールがV5.62(か、5.70βでもいい)、
> HTMLメール編集アドインがV1.04になってます。

本体は5.70beta9、HTMLメール編集アドインは1.04です。

[ ]
RE:02913 HTMLソース編集したいNo.02914
秀まるお さん 11/03/24 14:57
 
 メールでやりとりしてたユーザー様がカンポさんでしたか。全然気づいてませ
んでした。

 で、その、「次のパターン」とかでもやってみたんですけどマクロ実行で化け
る様子はいまいち確認出来ずでして…。

 とりあえず、メニューの「表示・HTMLメール編集」の実行では化けないという
ことであれば、それを使うようにマクロを直すとしたら、

    loaddll "tkinfo.dll";
    if( dllfunc("IsHtmlMailViewerVisible") ) {
        #n = dllfunc("SetAutoPushTimer", 0, "no");
        #n = sendmessage( hidemaruhandle(0), 0x111, 40336, 0 );
        #n = dllfunc("StopAutoPushTimer");
    } else {
        #n = sendmessage( hidemaruhandle(0), 0x111, 40336, 0 );
    }

 のようになります。これでとりあえずは回避可能なのかなぁと思ったりしまけ
ど…。内部的な動作として、HtmlEdit関数呼び出しするのも上記の方法を使うの
もほとんど同じ処理にしかならないはずでして、だとしたら、上記マクロでもダ
メなんじゃないかという気がします。

------------------------------------------------------------------------

 で、いろいろテストしてたら別のパターンでヘッダが化ける例がありました。
欧文のメールをエディタで開いてから「転送メール」としてやると、テンプレー
トの内容に関わらずヘッダが化けるようでした。このバグと同じ現象がたまたま
カンポさんの所で起きてるような気がします。

 ということで、まずはこのバグを修正させていただきます。

[ ]
RE:02914 HTMLソース編集したいNo.02915
秀まるお さん 11/03/24 16:22
 
 バグが再現出来ました。

 なぜだか分からないのですが、「マクロ・マクロ実行...」でマクロ実行した
場合は文字化けせず、「マクロ3」に割り当てたのを「Alt+M 3」で選択して実
行すると文字化けしました。

 とにかく再現出来たのでなんとか修正させていただきます。

[ ]
RE:02915 HTMLソース編集したいNo.02916
カンポ さん 11/03/25 00:53
 
> なぜだか分からないのですが、「マクロ・マクロ実行...」でマクロ実行した
>場合は文字化けせず、「マクロ3」に割り当てたのを「Alt+M 3」で選択して実
>行すると文字化けしました。

私は最初から割り当てをして使っていました。
マクロ実行は使ったことがありません。

> とにかく再現出来たのでなんとか修正させていただきます。

5.70beta10で修正されているのを確認いたしました。
素早い対応をありがとうございます。

PS. 最初のメールに私がカンポであることは明記したので、すっかり認識されている
ものと思っていました。

[ ]