添付ファイルの改名について2No.06499
haru2 さん 03/03/17 11:18
 
#n = dllfunc("RenameAttach", "元の名前", "新しい名前" );

 という関数を追加して頂きありがとうございます。
 ところで、添付ファイルが2個ある場合、2個目の改名がうまく
いきません。
 よろしくお願いします。
 V2.54です。

[ ]
RE:06499 エラーコードNo.06501
haru2 さん 03/03/17 13:47
 
 例えば、ある送信メールに2個ファイルを添付しておき、以下の
マクロを実行します。
 すると、1個目はaaa.txtになりますが、2個目は失敗します。
 その際、2個目のファイル名と、エラーコードは183が表示されま
す。
 使い方が間違っていたら、御指摘下さい。
 よろしくお願いします。

loaddll "TKInfo.dll";
#i = 0;
while(1) {
    $s = dllfuncstr("CurrentHeader2", "X-Attach", #i);
    if ( $s == "" ) break;
    #n = dllfunc("RenameAttach", $s, "aaa.txt");
    if ( !#n ) {
        message "添付ファイル名変更 失敗";
    }
    #i = #i + 1;
}
endmacro;

[ ]
RE:06501 エラーコードNo.06502
ながさわ さん 03/03/17 13:56
 
こんにちは、ながさわです。

同一フォルダに同名のファイルは作れません。

[ ]
RE:06501 エラーコードNo.06503
秀まるお さん 03/03/17 15:32
 
 ながさわさんのコメントにある話とは別に、送信系メールで添付ファイルの名
前を変更すると、添付ファイルが別のフォルダに移動することがあります。

 例えば、送信済みメールを開いて、それの添付ファイルの名前を変更し、その
後Escキーを押してエディタを終了したとします。そうすると、名前の変わっ
た添付ファイルは破棄して、元の添付ファイル(のファイル名)に戻さないとい
けないです。

 その問題の対処のために、一度保存されたことのあるメールについて、添付
ファイルの名前変更や削除/追加がされた場合、添付ファイルを別のフォルダに
ごっそりコピーして、そこで作業が行われます。

 ということで、RenameAttachを呼んだら、2個目の添付ファイル・ファイル名
についてはRenameAttach関数を呼んだ後にもう一度CurrentHeader2関数などで取
得しなおさないといけないです。でないとフォルダ名が違ってくることになりま
す。

[ ]
RE:06502 エラーコードNo.06504
haru2 さん 03/03/17 17:11
 
>同一フォルダに同名のファイルは作れません。
 そうでした。
 例が悪くて、すみません。

[ ]
RE:06503 エラーコードNo.06505
haru2 さん 03/03/17 17:16
 
> ということで、RenameAttachを呼んだら、2個目の添付ファイル・ファイル名
>についてはRenameAttach関数を呼んだ後にもう一度CurrentHeader2関数などで取
>得しなおさないといけないです。でないとフォルダ名が違ってくることになりま
>す。
 最初に変数に記憶しておいたフォルダ名でなく、改めてもう一度
CurrentHeader2関数で、フォルダ名を取得して実行したらうまくい
きました。
 ありがとうございます。

[ ]