「送信済み」フォルダの一覧をコピペNo.31272
のりたま さん 07/05/08 08:32
 
 初めまして、まだひで丸初心者ですがよろしくおねがい致します。
「送信済み」フォルダの一覧をコピーしてExcelにペーストしたいのですがうまくで
きません。仕事の関係で、毎月メールの送信記録を報告しなければいけないのです。
本文は不要で、Subject、宛名、日にちのリストだけでよいので、なんとか秀丸でや
る方法はありませんでしょうか? よろしくおねがいいたします

[ ]
RE:31272 「送信済み」フォルダの一覧をコNo.31274
秀まるお2 さん 07/05/08 10:18
 
 Excelに貼り付けしたい対象のメールを複数選択し、以下のマクロを実行すれ
ばいいです。そうすると目的の一覧がクリップボードに入るので、それをExcel
に貼り付けすればいいです。

    loaddll "tkinfo.dll";
    #count = dllfunc("SelectedMailCount");
    if( #count == 0 ) {
        endmacro;
    }
    setclipboard "";
    #n = dllfunc("LockSelection");
    while(1) {
        #n = dllfunc("EnumSelection", 1);
        if( #n == 0 ) {
            break;
        }
        $subject = dllfuncstr("CurrentHeader", "Subject:");
        call RetrieveMultiHeader "To:";
        $to = $$return;
        call RetrieveMultiHeader "Cc:";
        $cc = $$return;
        if( $cc != "" ) {
            $to = $to + ", " + $cc;
        }
        $date = dllfuncstr("CurrentHeader", "Date:");
        $date = dllfuncstr("FormatDate", $date, "YYYY/MM/DD hh:mm");
        addclipboard $subject + "\t" + $to + "\t" + $date + "\n";
    }
    #n = dllfunc("UnlockSelection", 1);
    endmacro;

RetrieveMultiHeader:
    ##c = dllfunc("CountCurrentHeader", $$1);
    ##i = 0;
    $$ret = "";
    while( ##i < ##c ) {
        $$ret = $$ret + dllfuncstr("CurrentHeader2", $$1, ##i);
        ##i = ##i + 1;
        if( ##i < ##c ) {
            $$ret = $$ret + ", ";
        }
    }
    return $$ret;

[ ]