マクロの作り方が分からないので教えてくNo.00242
dakkosan さん 16/07/26 10:59
 
お世話になります

受信したメールの件名が指定した文字列の場合にバッチファイルを実行する
マクロを教えてください

自分で作ろうとしましたがヘルプではマクロのコマンドが見つけられませんでした
書籍等であるのでしょうか
それともホームページ上に載っていますでしょうか

宜しくお願いします



[ ]
RE:00242 マクロの作り方が分からないのでNo.00243
dakkosan さん 16/07/26 11:35
 
訂正です

マクロヘルプは見つけました、普通のヘルプを見ていました
ですが時間あれば教えてください

よろしくお願いします

[ ]
RE:00242 マクロの作り方が分からないのでNo.00244
秀まるお2 さん 16/07/26 11:54
 
 秀丸メール用のマクロを作るためには、まず基本として、秀丸エディタの
マクロが作成できないといけないです。

 秀丸エディタのマクロを作成する方法は、秀丸エディタの「マクロ」メニュー
の「マクロヘルプ」が一番参考になります。例えばそこの先にある「マクロを初
めて作成する方はこちらへ」の所とかが参考になります。

 例えば何かメッセージを表示するだけのマクロなら、

    message "テスト";

 とか、そういう簡単なマクロを作成して実行できるようになることが前提にな
ると思います。

 マクロを作成して実行するのが出来るようになったら、次はマクロを使って秀
丸メールをコントロールすることが必要で、そのためには、秀丸メールの
「ヘルプ」メニューの「秀丸メール・マクロヘルプ」を実行して出てくる内容を
参考にする必要があります。

 そこに、秀丸メールをコントロールする用の関数がいっぱい掲載してあります。

 で、今回のケースですが、

 受信したメールを1つ1つ調べて何かアクションを起こすための方法として、

   SelectRecvMail
   SelectRecvMailInFolder

 の2種類の関数があります。使い方は、ヘルプを参照するか、またはgoogleと
かで「秀丸メール SelectRecvMail」のようなキーワードで検索するのがお勧め
です。ですが、これらの方法は正直お勧めしないです。

 お勧めする方法として、「GetLastRecvMailSubject」って関数を使う方法があ
ります。それもヘルプに詳しく書いてありますが、例えば

    loaddll "tkinfo.dll";
    #n = dllfunc("SetJapaneseCodePageMode", 1);
    #c = dllfunc("RecvMailCountShow");
    #i = 0;
    while( #i < #c ) {
        $s = dllfuncstr("GetLastRecvMailSubject", #i);
        if( strstr( $s, "特定の文字列" ) >= 0 ) {
            run "cmd.exe /c xxxx.bat";
            break;
        }
        #i = #i + 1;
    }

 みたいなマクロを作って、それを「マクロ・マクロ登録...」の「自動起動」
ページの「受信が一段落した時」に登録しておけばいいと思います。

 とりあえずテストのために、

    loaddll "tkinfo.dll";
    #n = dllfunc("SetJapaneseCodePageMode", 1);
    #c = dllfunc("RecvMailCountShow");
    #i = 0;
    while( #i < #c ) {
        $s = dllfuncstr("GetLastRecvMailSubject", #i);
        message $s;
        #i = #i + 1;
    }

 みたいなマクロを作って確認するのがお勧めです。

 分からないことがあったらヘルプを探してみるか、または

    「秀丸メール GetLastRecvMailSubject」

 とかのキーワードでネット検索すれば、例えばここの会議室の過去ログとかが
ヒットするので、その辺の情報が参考になると思います。

 バッチファイルを実行する方法とかなら、例えば

  秀丸 マクロ バッチファイル 実行

 とかのキーワードで検索すればいいです。

[ ]
RE:00244 マクロの作り方が分からないのでNo.00245
dakkosan さん 16/07/26 15:49
 
詳しい説明有難うございます
参考にして作成してみます

[ ]