| 
			|  | 
 2007/07/18(水) 21:49:20
 
 こんにちは、JR0LPLさん
 
 ダヴィンチ@ユーザーです。
 
 細かい事ですがメインルーチンの終了は、
 exit;
 よりも
 freedll;
 endmacro;
 ・・・にした方が一般的です。但し、マクロの最後でfreedll;する必要はないと
 マクロヘルプには書かれています。
 
 /*
 ** タイトル:『turukame.2:00429| 報告:自動返信マクロ出来ました』
 ** 発信日:2007年07月18日(水) 08:47:09
 ** 発信者:JR0LPLさん
 */
 >みなさま、こんにちは。JR0LPLです。
 >
 >みなさまの暖かいアドバイスのお陰で、無事、自動返信マクロが「一応」完成し
 >ました。ありがとうございます。
 >
 >後は運用しながら、改良していきたいと思います。以下のようなiniファイル形
 >式にしました。
 >
 >[Addr]
 >Addr1=****1@****.ne.jp
 >Addr2=****1@****.ne.jp
 >Addr3=****1@****.ne.jp
 >Addr4=****1@****.ne.jp
 >Addr5=****1@****.ne.jp
 >Addr6=end
 >
 >完成したマクロは以下です。お気づきの点がありましたら、ご指摘頂けると幸い
 >です。
 >
 >//---------------------------------------------------------
 >// 受信毎にマクロ起動するので、$Flag でマクロ起動を制御する
 >//---------------------------------------------------------
 >
 >// $Flag = "";
 >   $Flag = "自動送信ON";
 >
 >if ( $Flag == "" ) endmacro;
 >
 >//---------------------------------------------------------
 >//                getinistr 関数用の設定
 >//---------------------------------------------------------
 >
 >$Dir  = "E:\\TuruKameData\\AutoReplay\\";
 >$ini  = $Dir + "Addr.ini";
 >$Sec2 = "Addr";
 >
 >//----------------------------------------------------------
 >//             自動返信メール生成用の設定
 >//----------------------------------------------------------
 >//ここを書き換える事で、Subroutine内の$Subject+".txt"を読み
 >//込む
 >//----------------------------------------------------------
 >
 >$Subject = "外出中です";
 >//$Subject = "睡眠中です";
 >//$Subjecy = "来客中です";
 >//$Subject = "食事中です";
 >//$Subject = "離席中です";
 >//$Subject = "通院中です";
 >
 >//----------------------------------------------------------
 >//                     メインルーチン
 >//----------------------------------------------------------
 >
 >loaddll "tkinfo.dll";
 >
 >$From = ""; // 安全の為入れておく
 >
 >while( dllfunc( "SelectRecvMail" ) ) {
 >    $From = dllfuncstr( "CurrentHeader" , "From");
 >}
 >
 >if ( $From == "" ) endmacro;
 >
 >$From = dllfuncstr( "SetEmailOnly" , $From );
 >
 >#a = 1;
 >while( #a < 101 ) {
 >    $Sec3 = "Addr" + str( #a ); // Addr1〜Addr100 までの文字列を生成
 >    $a = getinistr( $ini, $Sec2, $Sec3 );
 >    if ( $a == $From ) call SendMail;
 >    if ( $a == "end" ) break;
 >    #a = #a + 1;
 >}
 >
 >exit;
 >
 >//----------------------------------------------------------------
 >//                         サブルーチン
 >//----------------------------------------------------------------
 >// 指定したFrom:が有った場合、文面及び Subject をセットして送信
 >//----------------------------------------------------------------
 >
 >SendMail:
 >
 >  #n = dllfunc( "SetQuietMode" , 1 );
 >  #n = dllfunc( "MakeReply" );
 >  #n = dllfunc( "SetHeader" , "Subject" , $Subject);
 >  gofiletop;
 >  beginsel;
 >  gofileend;
 >  delete;
 >  insertfile $Dir+$Subject+".txt";
 >  #n = dllfunc("SendNow");
 >  #n = dllfunc( "SetQuietMode" , 0 );
 >return;
 
 --
 メーラー: HidemaruMail 4.81beta1 (WinNT,500)
 OS: Windows2000 SP4
 
 
 | 
 |