送受信の開始直前の詳細No.43242
ike さん 12/09/09 20:10
 
秀丸メールのマクロ起動につきどなたか教えてください。
マクロの起動時の設定で、「送受信の開始直前」があります。
この「開始直前」の定義なのですが、サーバに少し接続したあとでマクロが起動して
いるようです。
定期的送受信時、VPN接続中なら通常通り動作、VPN非接続なら送受信をしないように
マクロを組もうとしているのですが、マクロ起動前にサーバに接続してしまうので、
思うようにいきません。
何か良い方法はありませんでしょうか。よろしくお願いいたします。

[ ]
RE:43242 送受信の開始直前の詳細No.43243
秀まるお2 さん 12/09/10 09:10
 
 「送受信の開始直前」の自動起動マクロは、送受信関係の処理の一番最初に起
動されてます。なので、そのマクロを実行する前にメールサーバーに接続してし
まうことは、ちょっと考えがたいです。

 定期受信の場合も、たしかに受信の処理よりも前にマクロを実行する処理が入
っています。

 自動起動マクロの内容を、例えば「message "マクロ起動";」だけにして、そ
のメッセージが出ている最中に、管理者権限で起動したコマンドプロンプト上で
「netstat -b」ってコマンドを実行すればその辺が確実に見分けられると思いま
す。

 どうでしょうか。

 それと、VPN接続中かどうかを判断する方法は僕は分かりませんが、「全般的
な設定・定期受信・詳細」の中にある「ネットワークが有効な時のみ」等の
オプションをいろいろいじってみると、もしかしたらVPN接続中のみ定期受信さ
せることが出来るかもしれません。

 例えばVPNで接続してる時に限って特定のURLに接続可能ってことがあるならば、

    #http = createobject( "Msxml2.XMLHTTP" );
    callmethod #http, "open", "GET", "http://hide.maruo.co.jp", false;
    callmethod #http, "send", "";
    if( strlen($resp) == 0 ) {
        //VPN接続してない時の処理
        loaddll "tkinfo.dll";
        #n = dllfunc("SetCancel", 1);
    }


 みたいにして、URLに接続出来なかったらSetCancelするって方法があるかと思
います。


 それの他には、「アカウント毎の設定・上級者向け・その他」の「受信時に
エラーが起きてもメッセージ表示しない」のオプションをONにしておけば、接続
に失敗してもエラーメッセージを出さないようにってことだけは可能です。

[ ]
RE:43243 送受信の開始直前の詳細No.43244
ike さん 12/09/10 21:08
 
今やってみたら、サーバへの接続一切なしに期待通りSetCancelできました。
なぜ昨夜はうまくいかなかったのか..。私の勘違いだったのかもしれません。申し訳
ありません。

VPN接続の判定も教えていただき、ありがとうございます。助かりました。

[ ]