検索して一覧作成結果のエクスポートにつNo.44286
りえもん さん 13/04/09 10:24
 
秀丸メールの「検索して一覧作成」機能について質問します。
大量のメールの中から、添付ファイルあり/なしのそれぞれのメールサイズ合計を知
りたいと思っています。
「検索して一覧作成」で絞り込みを行って、結果をCSV等でファイル出力できれば、E
xcelに取り込んで算出できるのですが、一覧をエクスポートする方法が見当たりませ
んでした。
代替方法も含め、何か良い方法はありますでしょうか?
ご教授のほど、よろしくお願いします。

[ ]
RE:44286 検索して一覧作成結果のエクスポNo.44287
秀まるお2 さん 13/04/09 11:35
 
> 「検索して一覧作成」で絞り込みを行って、結果をCSV等でファイル出力できれば、E
> xcelに取り込んで算出できるのですが、一覧をエクスポートする方法が見当たりませ
> んでした。

 メール一覧で表示してる内容をCSV形式などでエクスポートする機能は、すみ
ませんが秀丸メールには無いです。

> 代替方法も含め、何か良い方法はありますでしょうか?

 マクロで一応出来ますが、1つ制限があります。

 「検索して一覧作成」の結果上では、現状では「LockSelection」等の関数が
使えないです。なので、どこかに検索フォルダを1つ作って、そこで実行してい
ただく必要があります。

 マクロの内容としては、例えば

    loaddll "tkinfo.dll";
    #n = dllfunc("DisableDraw");
    #n = dllfunc("LockSelection");
    #size1 = 0;
    #size2 = 0;
    while(1) {
        #n = dllfunc("EnumSelection", 1);
        if( #n == 0 ) {
            break;
        }
        #size = dllfunc("GetMailSize");
        if( dllfunc("GetMailFlag", "attach") != 0 ) {
            #size2 = #size2 + #size;
        } else {
            #size1 = #size1 + #size;
        }
    }
    #n = dllfunc("UnlockSelection", 1);
    #n = dllfunc("EnableDraw");
    message "添付ファイル無しメールの合計サイズは " +
            str( (#size1 + 512) / 1024) +
            "キロバイト、添付ファイルありメールのサイズは " +
            str( (#size2 + 512) / 1024) +
            "キロバイトです。";

 のようになります。

 例えばどこかに検索フォルダを作成して、そこの検索条件として、特定アカウ
ント配下のすべてのメールがヒットするような条件を指定します。それで検索結
果のメール一覧をすべて選択して上記マクロを実行すればいいです。

 メール数が多いと極端に時間がかかりますけども。今テストで9000通の
メールを対象にテストしたら、20秒くらいかかりました。(Windows7の2年く
らい前のマシンで)

 それでどうでしょうか。

 それとついでに…検索結果の一覧上で上記マクロが使えないのは、今後のバー
ジョンでは改良させていただきます。

[ ]
RE:44287 検索して一覧作成結果のエクスポNo.44288
りえもん さん 13/04/09 13:45
 
ご回答ありがとうございます。
早速、検索フォルダを作成し試してみました。
結論から言いますと、うまくサイズが取れませんでした。

検索フォルダ内のメールサイズが取得できません。"GetMailSize"が0で返却されてし
まいます。
通常のフォルダ内のメールでは値が返ります。

ちなみに"EnumSelection"によるメールの選択や、メールの添付あり/なしの判定("Ge
tMailFlag")は、検索フォルダ内でも正しく行われます。

秀丸メールのバージョンは6.01です。

秀丸メール側で何か設定等が必要でしょうか?

[ ]
RE:44288 検索して一覧作成結果のエクスポNo.44289
りえもん さん 13/04/09 14:49
 
時間がなかっため、作業用のフォルダを作成して、検索フォルダから通常のフォルダ
にメールをコピーしてマクロを実行することで解決しました。
ありがとうございました。

[ ]
RE:44288 検索して一覧作成結果のエクスポNo.44290
秀まるお2 さん 13/04/09 14:55
 
 こちらでもテストしてみたら、たしかにGetMailSizeが検索フォルダでうまく
機能してませんでした。大変失礼しました。

 最新β(V6.10β43)でもダメでした。

 ということで、現状では無理なようです。

 バグを修正して、V6.10β44として、出来たら明日までに公開しますので、そ
れまで待っていただけますでしょうか。ついでに検索結果一覧上でもちゃんと
LockSelection/EnumSelection出来るようにも修正します。(今直してた所でし
た)

[ ]
RE:44289 検索して一覧作成結果のエクスポNo.44291
秀まるお2 さん 13/04/09 15:04
 
> 時間がなかっため、作業用のフォルダを作成して、検索フォルダから通常のフォルダ
> にメールをコピーしてマクロを実行することで解決しました。

 その作戦がありましたね。失礼しました。

[ ]
RE:44291 検索して一覧作成結果のエクスポNo.44292
りえもん さん 13/04/09 15:42
 
いえいえ。無事解決できて助かりました。ありがとうございます。
今後とも、よろしくお願いします。

[ ]