メールの振り分けについてNo.38945
#funayuki1 さん 10/08/10 09:47
 
#funayuki1です。

メール受信時、subjectのパターンで振り分けを行いたいと考えています。

例えば、 Subjectの中に xx-xx-xx と言うパターン(xの部分は可変)の場合、振り分
け条件を、「Subject: が ..-..-.. を含む」とすれば良いのでしょうか?
(秀丸メールヘルプの「正規表現について」で"."は「改行を除く任意の1文字」と
なっていました。)

また、特定のフォルダの下に自動的にxx-xx-xxと言うフォルダを作成し、 そのフォ
ルダにメールを格納したいと考えています。
(同じ値でフォルダが作成されていたらそこに格納)

この様な事は可能でしょうか?

以上、よろしくお願いします。

[ ]
RE:38945 メールの振り分けについてNo.38946
秀まるお2 さん 10/08/10 10:54
 
 正規表現パターンはそれでいいと思いますが、振り分け設定の所で正規表現パ
ターンを指定する場合に、「を含む」じゃなくて、「を含む/正規表現」にしな
いとダメです。

 それで振り分け設定を作って、それを例えば受信フォルダに移動してからそれ
を選択して「編集・振り分け」を実行して、たしかに目的のフォルダに移動する
かどうかテストすればいいです。

> また、特定のフォルダの下に自動的にxx-xx-xxと言うフォルダを作成し、 そのフォ
> ルダにメールを格納したいと考えています。
> (同じ値でフォルダが作成されていたらそこに格納)

 「..-..-..」という正規表現パターンにヒットしたメールを「xx-xx-xx」とい
うフォルダに移動するということなら出来ますけども、

 例えば「..-..-..」という正規表現パターンにヒットしたメールのSubjectが、
例えば「AA-BB-CC」だったとして、それに連動して自動的に「AA-BB-CC」という
名前のフォルダを生成してそこに振り分ける、というようなことは出来ません。

[ ]
RE:38946 メールの振り分けについてNo.38957
#funayuki1 さん 10/08/10 18:18
 
#funayuki1です。

ご回答ありがとうございます。

マクロで代替できないか考えています。
・SetFindPack関数で設定した文字列がヒットしたカラム位置を知る方法
は無いでしょうか?
・Subjectの文字列の一部を取り出す事は可能でしょうか。

この2点が出来ればマクロで何とか出来そうな気がしています。

以上、よろしくお願いします。

> 正規表現パターンはそれでいいと思いますが、振り分け設定の所で正規表現パ
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>名前のフォルダを生成してそこに振り分ける、というようなことは出来ません。

[ ]
RE:38957 メールの振り分けについてNo.38958
秀まるお2 さん 10/08/10 22:37
 
 とりあえず振り分け設定としては、"..-..-.."にヒットしたメールすべてを固
定のフォルダに振り分けるようにしつつ、それからさらにマクロを使って、さら
に細かいフォルダに分ける、ということは理論的には実現可能ではないかと思い
ます。

 (実際にやったことは無いですけども)

 やるとしたら、作戦として、まず、マクロは「受信が一段落した時」に実行す
るとして、さらに、SelectRecvMailInFolder関数で、特定フォルダのメール1つ
ずつ選択しながら動作するような物にします。

 そして、移動させたい先のフォルダ名ですが、HmJre.dllをloaddllした上で、
Subject:ヘッダの文字列をタグ付き正規表現させて、それでうまくフォルダ名を
生成する、というやり方は可能だと思います。

 あるいは単純にmidstr関数とかでも出来るかもしれません。

 Subject:ヘッダの内容は、

   $s = dllfuncstr("CurrentHeader", "Subject:");

 とかで取り出せます。タグ付き正規表現についてはHmJre.dllのFindRegularと
かReplaceRegularとかで出来ると思います。

 具体的なマクロは…、難しそうなのでちょっと今簡単に作って差し上げるとい
う訳にはいかないです。

 はっきりいって大変面倒な、長文のマクロにはなると思います。

[ ]