振り分けとメーリングリストNo.00563
n'Guin さん 07/09/05 12:30
 
秀まるお様、みなさま

いつもお世話になっております。

振り分けの機能を使って、メーリングリストごとに、
フォルダを作っています。

このフォルダの設定で、アカウント設定の
新規メール時の宛先(いつも特定の宛先を指定する場合)
を利用して、メーリングリストへの投稿を便利に行っています。

今回の相談は、フォルダのメールの reply to をみて、

新規メール時の宛先(いつも特定の宛先を指定する場合)

を指定してくれるマクロを作れないだろうかという点です。

何かのイベントがあるたびにメーリングリストが作られるので、
毎回指定するのが、けっこう面倒です。 私の場合だけかも
しれませんが、フォルダ分けは、メーリングリストだけなので、
全部のフォルダを、本来は、この指定をしておいたほうが
良いのですが、100 個ぐらいあり、手作業でしていくのは、
けっこう面倒です。 秀丸メールの外で作業できるのなら、
それも考えましたが、手元の解析では、

新規メール時の宛先(いつも特定の宛先を指定する場合)

の内容は、prop.bin のバイナリファイルの中で指定されている
ようなので、これも難しいようです。

みなさまのお知恵を拝借できたらと思います。
よろしくお願いします。

[ ]
RE:00563 振り分けとメーリングリストNo.00564
秀まるお さん 07/09/05 13:03
 
 フォルダ毎の設定をマクロで書き換える用の関数は用意されてないので、フォ
ルダ毎の設定をマクロで書き換えるのはほとんど不可能かと思います。

 フォルダ毎の設定を記憶する用のprop.binファイルは特に暗号化のようなこと
はしてないので、先頭オフセットから何バイト目みたいな感じで書き換えてやっ
て出来ないことは無いですけど。中身はバイナリーデータなので、これをマクロ
で書き換えるってのはどっちにしても無理があります。

 フォルダ毎設定を書き換える用の関数を用意して欲しいということであれば用
意出来なくもないですけど。(ある程度の項目だけなら)

[ ]
RE:00564 振り分けとメーリングリストNo.00570
n'Guin さん 07/09/06 10:39
 
秀まるお様

早速のご返事をありがとうございます。

> フォルダ毎の設定をマクロで書き換えるのはほとんど不可能
ご回答を感謝です。 探しましたが、ヒントになりそうなことが
ありませんでした。

> フォルダ毎設定を書き換える用の関数を用意して欲しいということであれば用
>意出来なくもないですけど。(ある程度の項目だけなら)
私自身がほしいのは、

新規メール時の宛先(いつも特定の宛先を指定する場合)

だけです。 お手すきの時に、お願いできると幸いです。

いまのところ、私一人だけが必要な関数のようにも思いますが、
以前に、遠慮したところ、同じことが必要な方がいて、結局、
お手を煩わせた覚えがあります(NewMailType 関数)。

どうかよろしくお願いします。

[ ]
RE:00570 振り分けとメーリングリストNo.00574
Iranoan さん 07/09/06 13:42
 
 n'Guin さん今日は、Iranoan です。
> 新規メール時の宛先(いつも特定の宛先を指定する場合)
に付いて、
> 今回の相談は、フォルダのメールの reply to をみて、
ということなので、結構簡単にできるのでは? 末尾のマクロでどうでしょう。
To を指定するかどうかの設定ファイルは、マクロと同じフォルダに
setto.ini という名前で、
;------------------------------------------------------------
[reply]
xxxxxxxxxx@maruo.co.jp=1
;------------------------------------------------------------
という書式です。
//------------------------------------------------------------
loaddll "tkinfo.dll";
if( dllfunc( "MailType" ) == 0 && dllfunc("MainWnd") ){
  if( dllfunc("ExecAtMain", "MailType" ) != -1 ){
    $reply_to = dllfuncstr("ExecAtMain", "CurrentHeader", "Reply-To" );
    if( $reply_to != "" ){
      if( getininum( currentmacrodirectory + "\\setto.ini", "reply",
      $reply_to ) ){
        #n = dllfunc( "SetHeader", "To", $reply_to );
      }
    }
  }
}
freedll;

[ ]
RE:00574 振り分けとメーリングリストNo.00575
n'Guin さん 07/09/06 14:24
 
Iranoan さん、ありがとうございます。


>> 新規メール時の宛先(いつも特定の宛先を指定する場合)
>に付いて、
>> 今回の相談は、フォルダのメールの reply to をみて、
>ということなので、結構簡単にできるのでは? 末尾のマクロでどうでしょう。
アイディアをありがとうございます。

私の環境では、新たにメールを作成するときに、
テンプレートに指定したマクロが走り、本文の
一行目などを設定するように、いろいろ細工をしてあります。

この仕組みと連動させることで、うまくいくかもしれません。
少々、いじってみます。

ありがとうございます。

[ ]
RE:00574 振り分けとメーリングリストNo.00576
Iranoan さん 07/09/06 14:31
 
 n'Guin さん今日は、Iranoan です。
 自己レスです。

> To を指定するかどうかの設定ファイルは、マクロと同じフォルダに
> setto.ini という名前で、
に付いてですが、
> 100 個ぐらいあり、手作業でしていくのは、
> けっこう面倒です。
とのとこなので、Reply-To が付いていれば、一律に変えてよいのであれば、
>       if( getininum( currentmacrodirectory + "\\setto.ini", "reply",
>       $reply_to ) ){

とファイルの最後のほうの「}」を一つ適当に削除してください。

[ ]
RE:00576 振り分けとメーリングリストNo.00577
秀まるお さん 07/09/06 14:38
 
 iniファイルを使う方法で解決されようとしてるのかもしれませんが、僕の方
で、フォルダ毎の設定の「新規メール時の宛先」を参照/書き換えする命令を追
加しようと思います。

    $s = dllfunc("GetFolderPropNewMailTo");

    #n = dllfunc("SetFolderPropNewMailTo", "xxxx@xxx.xx");

 みたいな感じで。

[ ]
RE:00574 うまくいきました! 感謝!No.00578
n'Guin さん 07/09/06 14:48
 
Iranoan さん、いつもありがとうございます。

教えていただいたマクロを改造して、自分の環境に合わせて、
作り直したところ、希望した動作が可能になりました。

具体的には、受信フォルダ内のフォルダが指定されていて、
新しいメールを作成したときには、Iranoan さんの
マクロの一部が走り、To: を ExacAt をつかった
reply to から作るようにしています。

私のマクロでは、新しいメールを作ると、その To の
内容に合わせて、メール本文一行目の相手の敬称を切り替えたり、
させているので、いろいろ自分に合わせたことを、
マクロでさせているのですが、それとも矛盾しない
やり方がありました。

感謝です。

そういうわけで、秀まるおさんへのお願い(関数を新たに作る)
は、取り下げます。 ありがとうございました。

[ ]
RE:00577 振り分けとメーリングリストNo.00579
n'Guin さん 07/09/06 14:54
 
秀まるお様




>フォルダ毎の設定の「新規メール時の宛先」を参照/書き換えする命令を追
>加しようと思います。
>
>    $s = dllfunc("GetFolderPropNewMailTo");
>
>    #n = dllfunc("SetFolderPropNewMailTo", "xxxx@xxx.xx");
>
> みたいな感じで。
ご配慮ありがとうございます。

私の環境では、
フォルダ分け=メーリングリスト あるいは、 各種の配布物で、
新規メールを作るときには、アドレス帳から選ぶか、メール
ウィンドウで、右クリックして 〜〜〜あてのメールを作成する
を選ぶのが、ほとんどです。

幸いなことに、テンプレートに、新規メールを作成する場合に、
いろいろな仕掛けをするマクロを組み込んでいるので、その
マクロに、Iranoan さんが、作成してくれたマクロの一部を
組み込むことで、私の場合は、目的を達成することができました。
ini ファイルの仕掛けも不要でした。

よって、私以外からの要望がなければ、関数追加を行わなくて、
大丈夫です。

いつもながら、手厚いサポートをありがとうございます。
感謝申し上げます。

今後とも、よろしくお願いいたします。



[ ]
RE:00579 振り分けとメーリングリストNo.00580
秀まるお さん 07/09/06 15:04
 
 せっかく作ったのを捨てるのはもったいないけど今からヘルプを書くのも面倒
なので…隠し関数ということで残しておきます。

 要望があったらヘルプに追加します。

[ ]
RE:00580 振り分けとメーリングリストNo.00581
n'Guin さん 07/09/06 16:32
 
秀まるお様

> せっかく作ったのを捨てるのはもったいないけど今からヘルプを書くのも面倒な
>ので…隠し関数ということで残しておきます。
もう、お作りいただいたんですね。

> 要望があったらヘルプに追加します。
ありがとうございました。

後でいじってみます・・・

[ ]
RE:00580 振り分けとメーリングリストNo.00614
n'Guin さん 07/10/10 21:03
 
秀まるお様

作成していただいた、関数の件です。
Iranoan さんが作成してくれた、マクロのアイディアを利用して、
当初、うまくやっていたのですが、例外となるフォルダが
あって、例外のためのマクロを書くとかなり複雑になることが
判明しました。

> 要望があったらヘルプに追加します。
$s = dllfunc("GetFolderPropNewMailTo");
#n = dllfunc("SetFolderPropNewMailTo", "xxxx@xxx.xx");

この関数について、仕様を教えていただけますでしょうか?

解決済みに自分でしたにもかかわらず、申し訳ありませんが、
よろしくお願いいたします。




[ ]
RE:00614 振り分けとメーリングリストNo.00615
秀まるお さん 07/10/11 08:59
 
> $s = dllfunc("GetFolderPropNewMailTo");

 GetFolderPropNewMailToはdllfuncstrでないと呼び出せませんでした。失礼し
ました。

> #n = dllfunc("SetFolderPropNewMailTo", "xxxx@xxx.xx");

 これはそのままです。

 サンプルマクロ:

loaddll "tkinfo.dll";
$s = dllfuncstr("GetFolderPropNewMailTo");
#n = dllfunc("SetFolderPropNewMailTo", "xxxx@xxx.xx");
message dllfuncstr("GetFolderPropNewMailTo");
#n = dllfunc("SetFolderPropNewMailTo", $s);
message $s;

[ ]
RE:00615 振り分けとメーリングリストNo.00616
n'Guin さん 07/10/11 09:14
 
秀まるお様

さっそくのサンプルマクロをありがとうございました。

いろいろ試してみます。

> サンプルマクロ:
>
>loaddll "tkinfo.dll";
>$s = dllfuncstr("GetFolderPropNewMailTo");
>#n = dllfunc("SetFolderPropNewMailTo", "xxxx@xxx.xx");
>message dllfuncstr("GetFolderPropNewMailTo");
>#n = dllfunc("SetFolderPropNewMailTo", $s);
>message $s;

[ ]