Headerが複製される事象についてNo.29118
プックン さん 06/11/08 22:02
 
"受信"フォルダの下にあるフォルダのメールに対して
秀丸メールエディタウィンドウ上でマクロを実行して
メールを変更して、"AlterSave"を実行するとなぜかHeaderが複製されて
増えてしまいます。
情報アイテム用に作成したメールだと問題ないみたいなのですが、受信メールや
草稿フォルダから移動してきたメールだとこの事象が発生するようです。
マクロの使用方法がまちがっているのでしょうか?
よろしくお願い致します。

動作環境
    OS:Windows2000 SP4
    秀丸メール Ver4.68

//サンプルマクロ
    loaddll "TKInfo.dll";

    $$header = "Subject" ;
    if(readonly)    readonlyswitch ;    //ファイルの書換え禁止/許可の切り替え
    if(browsemode)  browsemodeswitch ;  //閲覧モードの切り替え
    //ヘッダ行の削除
    disabledraw;
    ##modify = 0 ;
    ##i = dllfunc("CountCurrentHeader", $$header);
    while( ##i > 0 ) {
        ##n = dllfunc("DeleteHeader2", $$header, ##i-1 );
        ##modify = 1;
        ##i = ##i - 1;
    }
    enabledraw ;
    if(##modify == 1){
        //秀丸メール本体上で、マクロによるメールの書き換えを許可します。
        ##n = dllfunc("AlterSave");
        if(##n == 0){
            message "保存失敗\n" ;
            goto LEND;
        }
    }

LEND:
    freedll;
    endmacro;


//サンプルマクロ終わり

[ ]
RE:29118 Headerが複製される事象についてNo.29122
秀まるお2 さん 06/11/09 14:34
 
 テストしたらたしかに僕の所でもヘッダが増殖しました。

 とりあえず、マクロの作り的に1つおかしい所があるので、それを直して欲し
いです。それで回避出来ます。

    if(readonly)    readonlyswitch ;

 の所を、

   if(readonly) ##n = dllfunc("EnableEdit");

 にしてください。それで直ります。

[ ]
RE:29122 Headerが複製される事象についてNo.29129
プックン さん 06/11/09 20:37
 
>   if(readonly) ##n = dllfunc("EnableEdit");
> にしてください。それで直ります。
ご指導していただいた通りに修正したところ、問題の事象は発生しなくなりました。
ありがとうございました。

[ ]