本文を他のプログラムに渡す方法No.01804
たむLA さん 17/08/04 21:29
 
毎日秀丸メールを使用している者です。
いつもありがとうございます。
お忙しいところ個人的な質問ですみません。

文字列処理のために、
@条件を満たすメールで
A本文を(全文で構いません)他のプログラムに渡す方法はございますでしょうか?

1はメール振り分けを使えば条件設定できます。
2が解らないでいます。

プログラミングはある程度出来るので、
方向性だけ提示して頂けると助かります。
秀丸メールからうまく本文を取得する方法がございましたら教えてください。

[ ]
RE:01804 本文を他のプログラムに渡す方法No.01805
秀まるお2 さん 17/08/05 09:16
 
> A本文を(全文で構いません)他のプログラムに渡す方法はございますでしょうか?

 マクロを使う作戦になりますが、例えばメール本文の内容をテンポラリファイ
ルに保存して、コマンドラインで、そのファイル名を渡してプログラム起動する、
とかって作戦が可能です。

 他にはクリップボードにデータを入れて渡すとか、DLL形式のライブラリを独
自に作ってもらって、それを呼び出す形で渡すとか、あとは、createobject/
callmethodとかの関数を使ってCOM形式のライブラリを呼び出してデータを渡す
って作戦も考えられます。

 受信したメールのを対象に処理するには、SelectRecvMailまたは
SelectRecvMailInFolderの関数を使ってループさせる必要があります。

 具体的な例を作って差し上げることは可能ですが、まずは受け取り側がどうや
ってデータを受け取りたいのか、その辺を先に決めた方がいいと思います。

[ ]
RE:01804 本文を他のプログラムに渡す方法No.01808
山紫水明 さん 17/08/05 17:32
 
 たむLAさん,

一例ですが,次のような方法でメール内容をエクセルに渡せました。

loaddll "TKinfo.dll";
#n = dllfunc( "SelectPane", 2);
$s = dllfuncstr("HomeDir") + "temp.txt";
gofiletop;
beginsel;
gofileend;
saveas $s, selection;
escape;
run "\"C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\EXCEL.EXE\
" " + $s;
endmacro;

                    山紫水明
                    SANSHISUIMEI

[ ]
RE:01804 本文を他のプログラムに渡す方法No.01815
たむLA さん 17/08/06 12:30
 
秀まるおさん、ありがとうございます。
山紫水明さん、マクロ作ってくださりありがとうございます。
どうもすみません。

結論から申し上げると、秀丸メールのメールが入っているフォルダに
バッチ処理かけていくことにしました。
形式が最初よく解らなかったのですが、
眺めてたら見えてきました。

で、行ける気がしてきました。

質問自体分かりにくかったみたいですみません。
ご返信感謝しております。

PS
秀まるおさんへ
[ 17/02/21 12:28 ]01084 振り分け時に実行ファイルを起動したい
で似たような質問をした者です。
あの後追加してもらった高度な振り分けのメッセージを出す機能、
いい感じで捗りまくりです。
月1くらいであったヤバい見落としが無くなりました。

[ ]
RE:01815 本文を他のプログラムに渡す方法No.01818
秀まるお2 さん 17/08/07 09:35
 
 振り分けアクションでプログラム起動やメッセージ表示の裏技がありますが、
そのうちのプログラム起動の方に、メールデータをテンポラリファイルに保存し
て、そのファイル名をコマンドラインで渡すような機能追加もしてもいいかなぁ
ということも考えてはいました。

 例えばメール本文を渡すとしたら、

   run:notepad.exe "%body_sjis%"

 と指定するとか。

 %body_sjis%     ... メール本文をShift-JISで
 %body_utf8%     ... メール本文をutf-8で
 %body_utf16%     ... メール本文をutf-16(BOMあり)で

 %mail_sjis%    ... メールのヘッダ+本文をShift-JISで

 %attach%      ...  添付ファイルのファイル名(複数ある場合は複数回起動)

 とかあったらいいかなぁと思ったりはします。

 今のところ要望が無いのでやってませんけども。

[ ]
RE:01818 本文を他のプログラムに渡す方法No.01824
たむLA さん 17/08/07 15:30
 
そうですね、私もそちらのコマンドライン引数の要望を
さりげなく書いていました^^;

しかし文字列処理自体、需要薄いですね。
掲示板や公開マクロを眺めていて思いました。
自動返信なんか組めそうで応用できそうですが開発者向けかな。

今回の件は、メールフォルダへの処理ルーチンを
どうにか必死で8割くらい書けましたので、個人的には解決しました。

秀丸の開発者方々の開発力にいつも感謝感激です。
またよろしくお願いします。m(__)m

[ ]