メールのエクスポートNo.28301
Luna さん 06/08/14 02:01
 
Lunaと申します。
お世話になります。

複数の任意のメールをエクスポートする際に
メール一覧画面で、コントロールキーなどで任意のメールを
選択して、「ファイル」-「エクスポート」と
必要時おこなっておりますが、

もっと簡単にデスクトップやSDカードに ドラッグアンドドロップ
して、メールファイルを取り出したいのです。
テキストファイルでいいんです。

秀丸メールv4.67 では可能でしょうか?
何か設定を変えたり、方法がありましたらご教授ください。

[ ]
RE:28301 メールのエクスポートNo.28306
K'zawa さん 06/08/14 15:07
 
K'zawa@ユーザーです。

>複数の任意のメールをエクスポートする際に
>メール一覧画面で、コントロールキーなどで任意のメールを
>選択して、「ファイル」-「エクスポート」と
>必要時おこなっておりますが、
>
>もっと簡単にデスクトップやSDカードに ドラッグアンドドロップ
>して、メールファイルを取り出したいのです。
>テキストファイルでいいんです。
>
>秀丸メールv4.67 では可能でしょうか?
>何か設定を変えたり、方法がありましたらご教授ください。

ドラッグ&ドロップでエクスポートは現状では無理かもしれません。(たぶん)
マクロでやればダイアログをとばせる分、楽になるかと思いますが。
どうでしょう?

-------------------------------------------
    $dir="c:\\temp\\";    //書き出すフォルダ
// ↓デスクトップの例(Windows XP)
// $dir=getenv("userprofile")+"\\デスクトップ\\";

loaddll "tkinfo.dll";
if(!dllfunc("IsHidemaruMailMain")) endmacro;
if(!dllfunc("SelectedMailCount")) endmacro;
$s=$dir+"Mail"+str(#f)+".txt";
while(existfile($s)){
    #f=#f+1;
    $s=$dir+"Mail"+str(#f)+".txt";
}
#n=dllfunc("Export",$s,"hidemarumail","noencode");
freedll;
-------------------------------------------

上記のマクロを登録してキーを割り当てるなり、ツールバーに置くなり、
右クリックメニューに設定しておいて、
めーるを選択した後で実行すれば、'$dir'で指定したフォルダに
テキストファイルを出力します。

[ ]
RE:28306 メールのエクスポートNo.28310
Luna さん 06/08/15 01:57
 
K'zawa さん ありがとうございます!

マクロの存在は知っていたのですが、こんなことが
できるなんてすごいですね!

使ってみたら簡単に組み込めたし、マクロを勉強してみようと
思いました。
作っていただいたソースで大変役にたっています(^^)

[ ]
RE:28301 メールのエクスポートNo.28332
秀まるお2 さん 06/08/17 15:01
 
 ドラッグアンドドロップでメールを簡単にエクスポート出来るようにするって
対応は、一時期対応しようと努力したことがあったんですが、結局対応出来ませ
んでした。

 ドラッグアンドドロップの仕組み上、ドラッグ開始時点でドロップ対象のデー
タ(=エンコードされたメールデータ)を生成する必要があって、例えば
1000通まとめてエクスポートするなら1000通分のエンコード処理をやる
ことになって、そうすると速度的に問題があるってことで辞めたような気がしま
す。

[ ]
RE:28332 メールのエクスポートNo.28336
CHERRYVOICE さん 06/08/17 15:18
 
横から失礼します。

私もD&Dによるエクスポートを希望している一人です。

この要望、以前からちょくちょく出ていると思うのですが、処理速度上だけの
問題であれば、現在選択されているメールの数によって動作を切り替える、
というのは難しいのでしょうか。
個人的な見解ですが、D&Dで手軽にメールをエクスポートするようなケースでは、
一度に1通またはせいぜい数通の場合が多いと思います。

選択しているメール数が一定以上の場合、
「一度に**通以上のメールはD&Dでエクスポートできません。『ファイル』
  メニューのエクスポートから〜〜〜」
といったようなメッセージを出せば、動作の違いにユーザーがとまどうことも
少なくなると思います。

いかがでしょうか?

[ ]
RE:28336 メールのエクスポートNo.28338
秀まるお2 さん 06/08/17 17:14
 
 ドラッグアンドドロップでエクスポートするとなると、例えばその時のエクス
ポートのオプション的に、エンコードしてエクスポートするのか、それとも受信
ログをエクスポートするのかっていう問題もありまして…。普通のエクスポート
とか「そのまま転送」の時は、例えば受信ログが見つからないなら見つからない
で警告メッセージが出せますが、ドラッグアンドドロップの時はドラッグ開始時
点でメッセージを表示することは出来ないです。

 ということも考えると面倒だなぁと思ったりします。

[ ]
RE:28338 メールのエクスポートNo.28340
CHERRYVOICE さん 06/08/17 18:50
 
> エクスポートのオプション

前回実行時のオプションを引き継ぐということでいかがでしょうか。

> ドラッグアンドドロップの時はドラッグ開始時点でメッセージを
> 表示することは出来ないです。

ドラッグ開始時点では、フォルダ間移動の可能性もあるので無理
でしょうが、ドロップ時点では出来ませんか?

[ ]
RE:28340 メールのエクスポートNo.28357
秀まるお2 さん 06/08/18 13:30
 
 ドロップ時点では出来なかったと思うんですが…。といいつつ、僕の知識不足
もあるので、実際は出来るかもしれません。

 その辺勉強すればいいんですけど、なかなか余裕が無いです。

[ ]
RE:28357 メールのエクスポートNo.28364
秀まるお2 さん 06/08/18 15:29
 
 メールデータをIDataObject経由で、

 CFSTR_FILECONTENTS
 CFSTR_FILEDESCRIPTOR

 を使って提供するようにすればなんとか出来そうではあります。さらには、
IDataObject::QueryGetDataメソッドの所でダイアログボックスを出すことも可
能かもしれませんが…。

 さらには、秀丸メールへのドロップを受け付ける処理の方でも、上記フォーマ
ットに対応することでOutlook Expressからの直接ドロップに対応出来たりもし
ます。

 という所までは分かったので、また暇な時にテストなどしてみたいと思います。

[ ]
RE:28364 メールのエクスポートNo.28366
CHERRYVOICE さん 06/08/18 16:23
 
ご検討頂きありがとうございます。

ダイアログボックスを出すことが可能であれば、エクスポート可能時には
エクスポートのオプションを出すのも一案かも知れないですね。
(個人的にはオプションの内容は「前回の内容を引き継ぐ」でOKですが)

何はともあれ、D&Dエクスポートが実現されるのを楽しみにしております。

[ ]
RE:28366 メールのエクスポートNo.28397
秀まるお2 さん 06/08/23 16:09
 
 今さらの返事になりますが、やっぱりドラッグアンドドロップの「ドロップ」
の時にダイアログボックスを出すのは無理っぽいです。

 マウスカーソルをデスクトップに移動させただけで、IDataObject::GetDataメ
ソッドが呼び出されてしまいます。(っと書いても仕方ないですが)

 あと、CFSTR_FILEDESCRIPTORとCFSTR_FILECONTENTSだけサポートしてもいまい
ちダメみたいでして…。何か適当なサンプルあったら教えて欲しいです。>誰か

[ ]
RE:28397 メールのエクスポートNo.28404
CHERRYVOICE さん 06/08/23 22:57
 
技術的な話にはあまりコメントできませんが、ダイアログボックスを
出すのが不可能であっても、選択メール数によって動作を切り替えて、
D&Dによるエクスポートを実現することは可能なのですよね?

・選択メール数が一定以内 → エクスポートを実行
・選択メール数が一定以上
   → 現状のように秀丸メールウィンドウ外にドラッグした場合、
      禁止アイコンが出る。

という仕様で、最低限でも一定メール数以内のエクスポートは実現可能
ではないかと期待しております。

しかしながら、
「メール数によってエクスポート出来るときと出来ないときがある」
といったような質問がサポート会議室に頻出することも考えられます
ので、最終的なやる/やらないの判断は秀まるおさんにおまかせしますが…

[ ]
RE:28404 メールのエクスポートNo.28411
秀まるお2 さん 06/08/24 08:57
 
 ダイアログボックスを出すことは出来ないと分かったんですが、それとは別に、
CFSTR_FILEDESCRIPTOR + CFSTR_FILECONTENTSでメールデータをファイルのよう
に見せかけるやり方がうまく出来ずに挫折しています。

 ftpクライアントのソフトとかで、ftpサーバー上のファイルをドラッグアンド
ドロップによってダウンロードさせるとか、そういうソフトの例があるらしいん
ですけど、いまいちソースコードまでは出てこなくて…。

 ということで、悩んでいても先に進まないので、今のところは保留しときます。

[ ]