メール一覧で複数の宛先を全て表示したいNo.42615
虎鉄 さん 12/05/03 15:56
 
「フォルダの設定」で「To/From列の表示」を「宛先(To)を表示」に設定しているの
ですが、
宛先が複数ある場合、最初の宛先のみ表示されて後は「...」で省略されてしまいます。
これを全て表示するには、どのようにすれば良いですか?

-----
秀丸メール Ver.5.72beta40

[ ]
RE:42615 メール一覧で複数の宛先を全て表No.42618
秀まるお2 さん 12/05/03 21:33
 
 メール一覧のTo/From例には、メールアドレスを複数表示することは出来ない
です。「...」としか出せないです。

 しいて、全部表示させるには、「全般的な設定・メール一覧」の「特定ヘッダ
の内容」をONにして、特定ヘッダとしてTo:を指定するって作戦があります。そ
れ以外には無理かと思います。

[ ]
RE:42618 メール一覧で複数の宛先を全て表No.42622
虎鉄 さん 12/05/03 22:40
 
回答ありがとうございます。

アドバイスの通り設定してみましたところ、最後に「To:」という列が、追加はされ
たのですが、
中身は「To/From列」と同じく「...」表示になってしまいます。
一応、秀丸メールの再起動もしたんですが変わりません。

ただ、うまく変わったとしても、
「フォルダの設定」で「To/From列の表示」を「宛先(To)を表示」に設定
している場合は、良いのですが、「差出人(From)を表示」に設定している場合は
「To:」の列はいらない(かえって邪魔になってしまう)ので、
出来れば「To/From列の表示」で全ての宛先を表示できる様に
して頂きたいのですが、無理でしょうか?


[ ]
RE:42622 メール一覧で複数の宛先を全て表No.42623
秀まるお2 さん 12/05/04 14:53
 
 すみません。追加ヘッダを指定しても、そこも長さ制限があって、あんまり長
い文字列は出てこないです。標準だと40文字程度で切られてしまうようです。

 実はこれをもっと長くしてほしいって要望が過去にあって、「全般的な設定・
メール一覧・詳細・もっと詳細2」の所にある

      「特定ヘッダの内容/メール本文」として取得する文字数を多めにする

 のオプションをONにすると、そこの制限長さが100バイト程度に増えるようで
す。

 それが限界です。

 実は、この辺の長さをもっと長くすると、実はここのデータはすべてメモリ上
に置くデータってことで、あんまりサイズが大きいと、メール数が多い場合に
メモリをそれだけ圧迫してしまう恐れがあります。メール数が何百万通も扱うよ
うなユーザー様もおられるだろうしってこととか、あと、メール一覧の
キャッシュを読み込む時間とかレスポンスとかの関係もあって、あんまり長い
データは持たないようにしています。

 内部的な仕組み的にも、To/From列のデータは「1つの名前+1つのメールア
ドレス」しか持てない構造にしてしまってるので、今から仕様変更するのは大変
難しいです。

[ ]
RE:42623 メール一覧で複数の宛先を全て表No.42626
虎鉄 さん 12/05/04 23:05
 
>  すみません。追加ヘッダを指定しても、そこも長さ制限があって

>       「特定ヘッダの内容/メール本文」として取得する文字数を多めにする
>
>  のオプションをONにすると、そこの制限長さが100バイト程度に増えるようです。

現在、(To)ヘッダは以下の様になっています。

  To: A <"a@.item">, B <"b@.item">

長さ制限には引っかかってない様に見えましたが、一応ONに設定してみました。
結果に変化はなく、相変わらず「...」表示となっています。
他にも設定が必要な所があるのでしょうか?

「特定ヘッダの内容/メール本文」で「To:」を指定した場合に、
ちゃんと複数の宛先が表示されれば、とりあえずそれで凌ごうと思いますので、
引き続き、アドバイスよろしくお願いします。


技術的な問題については以下の2点だと理解しましたが、

[1] メモリや読み込み時間等に影響があるため「サイズ」を大きくしたくない。
  (特定ヘッダの話)
[2] 内部的な構造上「1つ」の名前とメールアドレスしか持てない。
  (To/From列の話)

自分の場合、[1]については、現在のサイズで十分だと思います。
[2]についても了解しました。


[ ]
RE:42626 メール一覧で複数の宛先を全て表No.42628
秀まるお2 さん 12/05/05 16:53
 
 毎度お手数かけてすみません。

 テストしてみたら、たしかに追加ヘッダが「To:」等の場合、To/From列と同様
の変換をしてました。

 「全般的な設定・メール一覧」の「To/From列の表示」のオプションが、追加
ヘッダの方にも効くようになってました。V5.06β4の時点で、誰かのユーザー様
から要望があってそういう仕様にしたようです。

 「To/From列の表示」を、「両方」にして、さらに「アドレス帳に登録されて
いる名前を表示する」もOFFにすれば、To:ヘッダの内容がそのまま表示される仕
様になってました。

 とりあえず、変換して表示する場合であっても複数のメールアドレスがある場
合は複数全部表示するように、次のβ版にて修正してみます。

[ ]
RE:42628 メール一覧で複数の宛先を全て表No.42629
秀まるお2 さん 12/05/05 18:08
 
 それと追加になりますが、フォルダ毎の設定の「基本」ページの中に、
「メール一覧の列幅をこのフォルダ固有にする」ってオプションがありまして、
それを使うと、見かけ上、特定のフォルダに限ってTo/From列の代わりにTo:
ヘッダ内容を表示させてるようにすることは出来ます。

 普通のフォルダでは「To:」の追加ヘッダの列幅はゼロに近い状態にしておい
て、To:ヘッダを表示させたいフォルダだけ、列幅固有にしたらいいかなぁと思
います。

 あと、列の並び順も、To/From列のとなりがTo:列ってすればいいかと思います。

[ ]
RE:42629 メール一覧で複数の宛先を全て表No.42630
秀まるお2 さん 12/05/05 18:25
 
 それとさらに追加になりますが、1つ別件でバグを見つけてしまいました。

 「全般的な設定・メール一覧」の「メール一覧への表示項目、並び順」での
「特定ヘッダの内容/メール本文」の並び順が一番下じゃない場合だと、そこの
オプションをON/OFFした時に、一覧の下にある「特定ヘッダの内容」の欄がうま
くEnable/Disableされないバグがありました。

 これまた次のβ版で修正させていただきます。

[ ]
RE:42628 メール一覧で複数の宛先を全て表No.42631
虎鉄 さん 12/05/07 06:00
 
> とりあえず、変換して表示する場合であっても複数のメールアドレスがある場
>合は複数全部表示するように、次のβ版にて修正してみます。

よろしくお願いします。

[ ]
RE:42629 メール一覧で複数の宛先を全て表No.42632
虎鉄 さん 12/05/07 06:05
 
これは、良い作戦をありがとうございます。
とりあえずは、この設定ですっきりさせる事が出来ました。

[ ]
RE:42628 メール一覧で複数の宛先を全て表No.42664
虎鉄 さん 12/05/08 22:48
 

> とりあえず、変換して表示する場合であっても複数のメールアドレスがある場
>合は複数全部表示するように、次のβ版にて修正してみます。

V5.76β5にて複数表示される事を確認しました。
ありがとうございました。


[ ]
RE:42629 メール一覧で複数の宛先を全て表No.42665
虎鉄 さん 12/05/08 22:52
 

>  普通のフォルダでは「To:」の追加ヘッダの列幅はゼロに近い状態にしておい
> て、To:ヘッダを表示させたいフォルダだけ、列幅固有にしたらいいかなぁと思
> います。

現在あるフォルダは全て手動で直したので良いのですが、今後この設定をしたいフォ
ルダが
増えていきそうなので、この操作をマクロで実行したいのですがどのようにしたら良
いでしょうか?
ヘルプ等検索しましたが探しきれませんでした。

細かく書くと

1.「メール一覧の列幅をこのフォルダ固有にする」をONにする。
2.「To/From列」の列幅を最小にする。
3.「特定ヘッダの内容列」の列幅を指定値にする。
  (指定のフォルダと同じにするとか上位フォルダと同じにするでも良い)

としたいです。

もし、マクロが無理な場合は、フォルダ設定で、
「メール一覧の列幅をこのフォルダ固有にする」と各列の列幅を、
指定のフォルダまたは、上位フォルダと同じにするような設定を増やして頂きたいの
ですが
いかがでしょうか?

[ ]
RE:42665 メール一覧で複数の宛先を全て表No.42666
秀まるお2 さん 12/05/09 09:50
 
 フォルダ毎設定は、マクロから参照することは出来ますが、書き換えることは
現状出来ないです。

 現状やるとしたら、どこか1つのフォルダで「メール一覧の列幅をこの
フォルダ固有にする」をONにして、そこのフォルダにあるprop.binってファイル
を他のフォルダにもコピーしてやる作戦があります。それでコピーされた
フォルダはフォルダ毎設定が同じになります。

 それでどうでしょうか。

 マクロでやるとしたら、たとえばc:\tempってフォルダに元となるprop.bin
ファイルを置いておくようにして、

    question "フォルダ毎設定ファイルをコピーしていいですか?";
    if( result == yes ) {
        loaddll "tkinfo.dll";
        $src = "c:\\temp\\prop.bin";
        $dest = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount")
               + "\\" + dllfuncstr("CurrentFolder") + "\\prop.bin";
        #n = dllfunc("Bypass_CopyFile", $src, $dest, 0);
        #n = dllfunc("RefreshFolder");
    }

 ってマクロにて、フォルダ毎設定をコピーするって方法があります。

 現状思いつく作戦はこんなやり方しか無いです。

[ ]
RE:42665 メール一覧で複数の宛先を全て表No.42667
秀まるお2 さん 12/05/09 09:51
 
 それか、もし必要でしたら、SetFolderPropFlagsって関数で、フォルダ毎設定
の各種オプションのON/OFFだけでも出来るようにしてもいいです。

[ ]
RE:42666 メール一覧で複数の宛先を全て表No.42668
虎鉄 さん 12/05/10 01:22
 
>フォルダ固有にする」をONにして、そこのフォルダにあるprop.binってファイル
>を他のフォルダにもコピーしてやる作戦があります。それでコピーされた
>フォルダはフォルダ毎設定が同じになります。
>
> それでどうでしょうか。

この方法で、希望の処理が出来るようになりました。
ありがとうございました。

一つ不具合と思われる点を見つけたのでご報告します。
コピー元とコピー先でアイコンが違う場合、アイコンが変化しません。
一応、マクロの「dllfunc("RefreshFolder")」の実行や、
秀丸メールの再起動をしましたが変わりませんでした。
「フォルダ設定」を開いて「OK」で閉じると変化します。



[ ]
RE:42667 メール一覧で複数の宛先を全て表No.42669
虎鉄 さん 12/05/10 01:23
 
「prop.bin」のコピーで希望の動作をする様になりましたので、
特になくても大丈夫です。ありがとうございました。

[ ]
RE:42668 メール一覧で複数の宛先を全て表No.42670
秀まるお2 さん 12/05/10 09:54
 
> 「フォルダ設定」を開いて「OK」で閉じると変化します。

 調べてみたら、実は高速化のためにフォルダ毎設定の一部をlist.binファイル
にも持つようにしてて、そこが更新されないとアイコンも書き換わらないようで
した。

 ですが、list.binファイルはメモリ上にキャッシュされることが多くて、そこ
をうまく更新させる手段が、いろいろトライしてみた限りは無いようです。

 とりあえず、アイコンだけなんとかするとしたら、以下のマクロでなんとか出
来ました。

    question "フォルダ毎設定ファイルをコピーしていいですか?";
    if( result == yes ) {
        loaddll "tkinfo.dll";
        $src = "c:\\temp\\prop.bin";
        $dest = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount")
               + "\\" + dllfuncstr("CurrentFolder") + "\\prop.bin";
        #n = dllfunc("Bypass_CopyFile", $src, $dest, 0);
        #n = dllfunc("RefreshFolder");
        #icon = dllfunc("GetFolderIcon");
        #n = dllfunc("SetFolderIcon", #icon);
    }

 list.binにキャッシュしてる情報は他にもあるので、それらも含めてちゃんと
更新するとなると、その手段は現状無いことになります。

 やはりprop.binを無理矢理書き換えてって方法は無理があるので、
SetFolderPropFlags関数を別途追加することにします。


[ ]
RE:42670 メール一覧で複数の宛先を全て表No.42678
虎鉄 さん 12/05/12 20:06
 
色々とトライして頂いて、ありがとうございます。
ご呈示頂いたマクロで、うまくアイコンも変化する様になりました。

>  やはりprop.binを無理矢理書き換えてって方法は無理があるので、
> SetFolderPropFlags関数を別途追加することにします。

これは、各種オプションのON/OFFだけなのでしょうか?
列幅の指定も出来る様になりますか?

現在は、「prop.bin」のコピーで大変満足していますが、
今後、「prop.bin」のコピーでは無理が出てきた場合、
列幅の指定もマクロで出来る様になっていればスムーズに
移行できるかなと思いましたので。。。

[ ]
RE:42678 メール一覧で複数の宛先を全て表No.42681
秀まるお2 さん 12/05/14 12:08
 
 列幅のコントロール(取得/セット)は現状マクロでは不可です。

 これまた、次の適当なタイミングで方式など考えてみます。

[ ]
RE:42681 メール一覧で複数の宛先を全て表No.42691
虎鉄 さん 12/05/15 20:51
 
現状理解しました。
ありがとうございました。

[ ]