【要望】添付ファイルの一括保存についてNo.05415
RUXTOR さん 02/06/08 08:41
 
はじめまして、RUXTORと申します。
Beckeyから速攻で鶴亀メールに移行しました。
とても使いやすく気にいってます。
さて要望なんですが特定のフォルダに振り分けられたメールの添付ファイルを固定の
フォルダに一括保存できるオプションがほしい。これは振り分けられたフォルダ毎に
指定したいです。実はJRA−VANとFISCOから送られてくる添付ファイルが
あるんですが都度フォルダを切り替えるのは非常に面倒だからです。秀まるおさんの
作られたマクロも承知しているのですが自分のイメージとは違ったものだったので要
望させてもらいます。一番の希望は新着のメールが振り分けされるときに添付ファイ
ルだけ希望のフォルダに保存(同名は上書き)されるが理想なんですが。
ご検討くださいませ。

[ ]
RE:05415 【要望】添付ファイルの一括保存No.05417
ひろ さん 02/06/08 13:21
 
 RUXTOR さん今日は、ひろです。
> 特定のフォルダに振り分けられたメールの添付ファイルを固定の
> フォルダに一括保存できるオプションがほしい。これは振り分けられたフォルダ毎に
> 指定したいです。実はJRA−VANとFISCOから送られてくる添付ファイルが
> あるんですが都度フォルダを切り替えるのは非常に面倒だからです。秀まるおさんの
> 作られたマクロも承知しているのですが自分のイメージとは違ったものだったので要
> 望させてもらいます。
 秀まるおさんのマクロは、その都度保存するフォルダを聞いてきます。こ
の部分を変更して、特定のフォルダに対しては、保存先を固定するようにす
ればよいのでしょうか? それなら、
http://www.maruo.co.jp/hidesoft/8/m020517.html#7128
のマクロをちょっと変更すればよいでしょう。具体例を末尾に付けておきます。

//-----------------------------------------------------------------------------
loaddll "tkinfo.dll";
if( dllfunc("IsThreadView") ) {
  message "スレッド表示だと実行できません。";
  goto End;
}
#viewarea = dllfunc("ViewArea");
if( #viewarea != 5 ) {
  #n = dllfunc("SetViewArea", 5);
}
#total = dllfunc("MailCount");
if( #total == 0 ) {
  message "添付ファイル付きメールが1つもありません。";
  #n = dllfunc("SetViewArea", #viewarea );
  goto End;
}
#i = 0;

$ini = dllfuncstr( "HomeDir" ) + "tkmail.ini";
$folder = dllfuncstr( "CurrentAccount" )+ "\\" + dllfuncstr( "CurrentFolder" );
$dest = getinistr( $ini,"SAVEFOLDER",$folder);
if( $dest == "" ){
  #dest = dllfunc( "Bypass_MessageBox", hidemaruhandle(0),
    "フォルダは設定されていません!!\n" +
    "設定しますか?\n" +
    "はい:設定\n" +
    "いいえ:設定せず今回限り\n" +
    "キャンセル:マクロ終了",

    "保存フォルダの設定",0x23);
}
if( #dest == 2 )goto End;

InputPath:
  if( $dest == "" ){
    $dest = input( "添付ファイルを保存する先のフォルダのフルパス名は?"
           + "\n\n(例: c:\\folder)" );
    if( $dest == "" ) {
      goto End;
    }
    if( ! existfile( $dest + "\\." ) ) {
      message "指定されたフォルダが存在しません。"
        + "入力しなおしてください。";
      $dest = "";
      goto InputPath;
    }
  }
  if( #dest == 6 )writeinistr $ini, "SAVEFOLDER", $folder, "\"" + $dest + "\"";
  $account = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount");
  while( #i < #total ) {
    #n = dllfunc("SetMailIndex", #i );
    #x = 0;
    $attach = dllfuncstr("CurrentHeader", "X-Attach");
    if( $attach != "" ) {
      $src = $account + "\\" + $attach;
      // フォルダ名のみに変換する。
      #xFolder = -1;
      #xFile = -1;
      while(1) {
        #x = strstr( midstr( $src, #xFile + 1, 256 ), "\\" );
        if( #x < 0 ) {
          break;
        }
        #x = #x + #xFile + 1;
        #xFolder = #xFile;
        #xFile = #x;
      }
      $src = leftstr( $src, #xFile );
      if( existfile($src) ){
        //フォルダごと
        $command = "xcopy.exe \"" + $src + "\" \""
          + $dest + "\\" + midstr( $src, #xFolder + 1, 256 )
        //ファイルだけの場合
        //$command = "xcopy.exe \"" + $src + "\\*\" \"" + $dest
          + "\" /S /I /Y";
        //            ^^確認せずに上書き
        runsync2 $command;
      }
    }
    #i = #i + 1;
  }
  #n = dllfunc("SetViewArea", #viewarea );
  run "start " + $dest;

End:
  freedll;
  endmacro;

[ ]
RE:05417 【要望】添付ファイルの一括保存No.05419
RUXTOR さん 02/06/08 14:13
 
ひろさん こんにちは、RUXTORです。

>ればよいのでしょうか? それなら、
>http://www.maruo.co.jp/hidesoft/8/m020517.html#7128
>のマクロをちょっと変更すればよいでしょう。具体例を末尾に付けて

ありがとうございます。
早速マクロを実行させたんですが、サブフォルダの作成なしで指定フォルダの直下に
保存がしたいです。また、フォルダ内全部のファイルではなく未読のメールだけとい
うわけにはいきませんか。
お手数をお掛けします。

[ ]
RE:05419 【要望】添付ファイルの一括保存No.05420
ひろ さん 02/06/08 16:19
 
 RUXTOR さん今日は、ひろです。
> サブフォルダの作成なしで指定フォルダの直下に
> 保存がしたいです。
 こちらについては、コメントの形では書いておいたのですが、
> フォルダ内全部のファイルではなく未読のメールだけとい
> うわけにはいきませんか。
こちらを含めて書き直した物を再度アップします。
//-----------------------------------------------------------------------------
loaddll "tkinfo.dll";
if( dllfunc("IsThreadView") ) {
  message "スレッド表示だと実行できません。";
  goto End;
}
#viewarea = dllfunc("ViewArea");
if( #viewarea != 5 ) {
  #n = dllfunc("SetViewArea", 5);
}
#total = dllfunc("MailCount");
if( #total == 0 ) {
  message "添付ファイル付きメールが1つもありません。";
  #n = dllfunc("SetViewArea", #viewarea );
  goto End;
}
#i = 0;

$ini = dllfuncstr( "HomeDir" ) + "tkmail.ini";
$folder = dllfuncstr( "CurrentAccount" )+ "\\" + dllfuncstr( "CurrentFolder" );
$dest = getinistr( $ini,"SAVEFOLDER",$folder);
if( $dest == "" ){
  #dest = dllfunc( "Bypass_MessageBox", hidemaruhandle(0),
    "フォルダは設定されていません!!\n" +
    "設定しますか?\n" +
    "はい:設定\n" +
    "いいえ:設定せず今回限り\n" +
    "キャンセル:マクロ終了",
    "保存フォルダの設定",0x23);
}
if( #dest == 2 )goto End;

InputPath:
  if( $dest == "" ){
    $dest = input( "添付ファイルを保存する先のフォルダのフルパス名は?"
           + "\n\n(例: c:\\folder)" );
    if( $dest == "" ) {
      goto End;
    }
    if( ! existfile( $dest + "\\." ) ) {
      message "指定されたフォルダが存在しません。"
        + "入力しなおしてください。";
      $dest = "";
      goto InputPath;
    }
  }
  if( #dest == 6 )writeinistr $ini, "SAVEFOLDER", $folder, "\"" + $dest + "\"";
  $account = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount");
  while( #i < #total ) {
    #n = dllfunc("SetMailIndex", #i );
    #i = #i + 1;
    if( !dllfunc( "IsUnread" ) )continue;//未読メールのみ
    #x = 0;
    $attach = dllfuncstr("CurrentHeader", "X-Attach");
    if( $attach != "" ) {
      $src = $account + "\\" + $attach;
      // フォルダ名のみに変換する。
      #xFolder = -1;
      #xFile = -1;
      while(1) {
        #x = strstr( midstr( $src, #xFile + 1, 256 ), "\\" );
        if( #x < 0 ) {
          break;
        }
        #x = #x + #xFile + 1;
        #xFolder = #xFile;
        #xFile = #x;
      }
      $src = leftstr( $src, #xFile );
      if( existfile($src) ){
        //フォルダごと
        //$command = "xcopy.exe \"" + $src + "\" \""
        //  + $dest + "\\" + midstr( $src, #xFolder + 1, 256 )
        //ファイルだけの場合
        $command = "xcopy.exe \"" + $src + "\\*\" \"" + $dest
          + "\" /S /I /Y";
        //            ^^確認せずに上書き
        runsync2 $command;
      }
    }
  }
  #n = dllfunc("SetViewArea", #viewarea );
  run "start " + $dest;

End:
  freedll;
  endmacro;

[ ]
RE:05420 【要望】添付ファイルの一括保存No.05423
RUXTOR さん 02/06/08 21:47
 
ひろさん、こんばんわ。RUXTORです。
>こちらを含めて書き直した物を再度アップします。

これなんですがマクロは実行したのですがフォルダ内をカーソルが上から下へ動くだ
けで終わってしまいます。保存する指定フォルダも聞いてきません。同じように実行
したつもりなのですが。
もう少しおつきあい願いますか。
すみませんね。

[ ]
RE:05423 【要望】添付ファイルの一括保存No.05425
RUXTOR さん 02/06/08 22:05
 
ひろさん、毎度です。RUXTORです。
>これなんですがマクロは実行したのですがフォルダ内をカーソルが上から下へ動く
>だけで終わってしまいます。保存する指定フォルダも聞いてきません。同じように
>実行したつもりなのですが。
>もう少しおつきあい願いますか。
>すみませんね。

再度確認したら最初は未読がなかったので保存されなかったみたいで、
未読に戻して実行したら希望のフォルダに保存されましたがマクロ
実行時には保存先フォルダは聞いてきませんでしたのでどこかに保存
されているのでしょうか。
マクロ名を変えてもう一つのフォルダーは違う保存先を指定したいのですが。
よろしくお願いいたします。

[ ]
RE:05425 【要望】添付ファイルの一括保存No.05426
RUXTOR さん 02/06/08 22:34
 
ひろさん、毎度々です。RUXTORです。
>未読に戻して実行したら希望のフォルダに保存されましたがマクロ
>実行時には保存先フォルダは聞いてきませんでしたのでどこかに保存
>されているのでしょうか。
tkmail.iniに落ちていました。

>マクロ名を変えてもう一つのフォルダーは違う保存先を指定したいのですが。

これが出来れば自分の希望どおりになります。
大変助かります。

ほんとお手数お掛けします。

[ ]
RE:05426 【要望】添付ファイルの一括保存No.05428
RUXTOR さん 02/06/08 22:43
 
ひろさん、毎度々々です。RUXTORです。

失礼しました。

別フォルダーの指定も出来るんですね。
完璧でした。
ありがとうございました。
1人で騒いでしまって申し訳ないです。
心からお礼申しあげます。
では。

[ ]
RE:05428 【要望】添付ファイルの一括保存No.05431
ひろ さん 02/06/09 16:50
 
 RUXTOR さん今日は、ひろです。
> 別フォルダーの指定も出来るんですね。
 そうです。
 最初に書いておくべきでしたが、「ホームディレクトリ」の tkmail.ini
に設定が保存されるので、変更したい場合はテキスト・エディタで
tkmail.ini を修正してください。

[ ]
RE:05431 【要望】添付ファイルの一括保存No.05433
RUXTOR さん 02/06/09 19:50
 
 ひろ さん こんばんわ、RUXTORです。

早速ひろさんのマクロを使って気づいたのですが

一括保存後未読を既読にできないでしょうか。

メール本文は読む必要がないもんですから。

またお手数をおかけします。

[ ]
RE:05433 【要望】添付ファイルの一括保存No.05439
ひろ さん 02/06/10 13:06
 
 RUXTOR さん今日は、ひろです。
> 一括保存後未読を既読にできないでしょうか。
 できます。
 未読のみ且つ既読にするということなので、NextUnreadCustom を使えばよいです。
//-----------------------------------------------------------------------------
loaddll "tkinfo.dll";
if( dllfunc("IsThreadView") ) {
  message "スレッド表示だと実行できません。";
  goto End;
}
#viewarea = dllfunc("ViewArea");
if( #viewarea != 5 ) {
  #n = dllfunc("SetViewArea", 5);
}
#total = dllfunc("MailCount");
if( #total == 0 ) {
  message "添付ファイル付きメールが1つもありません。";
  #n = dllfunc("SetViewArea", #viewarea );
  goto End;
}
#i = 0;

$ini = dllfuncstr( "HomeDir" ) + "tkmail.ini";
$folder = dllfuncstr( "CurrentAccount" )+ "\\" + dllfuncstr( "CurrentFolder" );
$dest = getinistr( $ini,"SAVEFOLDER",$folder);
if( $dest == "" ){
  #dest = dllfunc( "Bypass_MessageBox", hidemaruhandle(0),
    "フォルダは設定されていません!!\n" +
    "設定しますか?\n" +
    "はい:設定\n" +
    "いいえ:設定せず今回限り\n" +
    "キャンセル:マクロ終了",
    "保存フォルダの設定",0x23);
}
if( #dest == 2 )goto End;

InputPath:
  if( $dest == "" ){
    $dest = input( "添付ファイルを保存する先のフォルダのフルパス名は?"
           + "\n\n(例: c:\\folder)" );
    if( $dest == "" ) {
      goto End;
    }
    if( ! existfile( $dest + "\\." ) ) {
      message "指定されたフォルダが存在しません。"
        + "入力しなおしてください。";
      $dest = "";
      goto InputPath;
    }
  }
  if( #dest == 6 )writeinistr $ini, "SAVEFOLDER", $folder, "\"" + $dest + "\"";
  $account = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount");
  #id0 = dllfunc( "MailIndex" );
  if( !dllfunc( "IsUnread" ) )#tmp = dllfunc( "NextUnreadCustom" , "Roll" );
  #id1 = dllfunc( "MailIndex" );
  while( #id0 != #id1 ) {
    #id0 = #id1;
    #x = 0;
    $attach = dllfuncstr("CurrentHeader", "X-Attach");
    if( $attach != "" ) {
      $src = $account + "\\" + $attach;
      // フォルダ名のみに変換する。
      #xFolder = -1;
      #xFile = -1;
      while(1) {
        #x = strstr( midstr( $src, #xFile + 1, 256 ), "\\" );
        if( #x < 0 ) {
          break;
        }
        #x = #x + #xFile + 1;
        #xFolder = #xFile;
        #xFile = #x;
      }
      $src = leftstr( $src, #xFile );
      if( existfile($src) ){
        //フォルダごと
        //$command = "xcopy.exe \"" + $src + "\" \""
        //  + $dest + "\\" + midstr( $src, #xFolder + 1, 256 )
        //ファイルだけの場合
        $command = "xcopy.exe \"" + $src + "\\*\" \"" + $dest
          + "\" /S /I /Y";
        //            ^^確認せずに上書き
        runsync2 $command;
      }
    }
    #tmp = dllfunc( "NextUnreadCustom" , "Roll" );
    #id1 = dllfunc( "MailIndex" );
  }
  #n = dllfunc("SetViewArea", #viewarea );
  run "start " + $dest;

End:
  freedll;
  endmacro;

[ ]
RE:05439 【要望】添付ファイルの一括保存No.05449
RUXTOR さん 02/06/10 19:55
 
 ひろ さん wrote on 02/06/10 月曜日 13:06:07 +0900

》> 一括保存後未読を既読にできないでしょうか。
》 できます。
》 未読のみ且つ既読にするということなので、NextUnreadCustom を使えばよいです。

ありがとうございました。
希望の動作を確認しました。
お礼の言葉もありません。

PS ひろさんのマクロのプログラムをダウンロードして初めて気づいたのです
が疑似メーリングリストがあったんですね。わざわざホームページからログイン
して発言していました。あの会議室ハンドル名がゲストから抜けられず苦労しま
した。でもびっくりしたことがあります。なんと会社からレスをメールで出すと
エラーメールで帰ってきました。SMTPが登録と違うと言うことです。そりゃ
違いますよね。会社と自宅ですから。普通のメーリングリストがいいです。
でも、鶴亀最高です。この場を借りて秀まるおさんとひろさんに感謝します。
では。

[ ]
RE:05449 【要望】添付ファイルの一括保存No.05450
ひろ さん 02/06/10 20:14
 
 RUXTOR さん今日は、ひろです。
> なんと会社からレスをメールで出すと
> エラーメールで帰ってきました。SMTPが登録と違うと言うことです。
 あれ可笑しいですね。
 こちらへの MUA での投稿は、From ヘッダしか見ていないと思います。で
すから From さえ登録した物と一致していれば、問題なく投稿できたと思い
ます。

[ ]
RE:05450 【要望】添付ファイルの一括保存No.05451
RUXTOR さん 02/06/10 20:29
 
 ひろ さん wrote on 02/06/10 月曜日 20:14:23 +0900

》 あれ可笑しいですね。
》 こちらへの MUA での投稿は、From ヘッダしか見ていないと思います。で
》すから From さえ登録した物と一致していれば、問題なく投稿できたと思い
》ます。

以下がその内容です。
ユーザーIDのアドレスは申請したものです。

》秀ネットへの書き込みに失敗しました。
》フォーラム名: turukame
》会議室番号:   2
》題名:         RE:05439 【要望】添付ファイルの一括保存について
》ユーザーID:   xxxxxx@XXXXX.XXX

》エラーコード = 36
》エラーメッセージ...

》メールの送信元(SMTPサーバー)が入会申請時と違います。
》たしかにご本人様による書き込みであることを確認するため、会員情報のページ
》( http://www.maruo.co.jp/setup.asp )で「SMTPサーバ情報のクリア」を押して
》から投稿しなおしてください。

[ ]
RE:05451 【要望】添付ファイルの一括保存No.05452
ひろ さん 02/06/10 23:37
 
 RUXTOR さん今日は、ひろです。
> 》たしかにご本人様による書き込みであることを確認するため、会員情報のページ
> 》( http://www.maruo.co.jp/setup.asp )で「SMTPサーバ情報のクリア」を押して
> 》から投稿しなおしてください。
 もう鶴亀の話題とはいえませんが、こちらにあるように設定を変更しては
如何でしょうか?
 また会社がセキュリティーやネットワークの私用利用を制限するために、
接続できなければ無理ですが、こちらへ投稿するためのアカウントを別途作
成して、そのアカウントから投稿するようにすればよいでしょう。

[ ]
RE:05450 【要望】添付ファイルの一括保存No.05453
きいろいまふらあ さん 02/06/10 23:59
 
>> なんと会社からレスをメールで出すと
>> エラーメールで帰ってきました。SMTPが登録と違うと言うことです。
> あれ可笑しいですね。
> こちらへの MUA での投稿は、From ヘッダしか見ていないと思います。で
>すから From さえ登録した物と一致していれば、問題なく投稿できたと思い
>ます。

いえ、SMTPサーバを見てるはずです。一般のMLよりもちょっとだけ「なりすま
し」対策が強くなってるってことですね。見方によっては気休め程度かもしれま
せんけど、Fromを詐称するのに比べたら結構効果はあると思います。

[ ]
RE:05453 【要望】添付ファイルの一括保存No.05455
ひろ さん 02/06/11 12:02
 
 きいろいまふらあさん今日は、ひろです。
> いえ、SMTPサーバを見てるはずです。一般のMLよりもちょっとだけ「なりすま
> し」対策が強くなってるってことですね。
 http://www.maruo.co.jp/turukame/2/m020610.html#5451 を読むと、間違
いなくそうですね。失礼しました。
 ##しかし SMTP サーバの指定をした記憶が全くない(^^;。

[ ]
RE:05455 【要望】添付ファイルの一括保存No.05456
たけのこ さん 02/06/11 12:20
 
たけのこです。

> ##しかし SMTP サーバの指定をした記憶が全くない(^^;。

メールでの参加の確認で『返信』しませんでした?

[ ]
RE:05455 【要望】添付ファイルの一括保存No.05457
かわした さん 02/06/11 12:36
 
> ##しかし SMTP サーバの指定をした記憶が全くない(^^;。

SMTP サーバは明示的に指定するのではなく、送信されたメールか
ら秀ネット側で自動抽出するようです。SMTP サーバ情報をクリア
しても、次の投稿でその SMTP サーバ情報がセットされますから。
実際に試されればすぐに分かると思います。
# このメールも1回エラーで帰ってきました(^^;

[ ]
RE:05456 【要望】添付ファイルの一括保存No.05458
ひろ さん 02/06/11 12:56
 
 たけのこさん今日は、ひろです。
 鶴亀に関係ない+独り言にお返事をいただき恐縮です。
> > ##しかし SMTP サーバの指定をした記憶が全くない(^^;。
>
> メールでの参加の確認で『返信』しませんでした?
 BBS から MUA に移行したのが 1 年以上前で、返信した、していないは疎か、
そういった確認メールがあったことすら記憶にないんです(^^;。記憶に合った
としても、そのメールによって、SMTP を記録しているとは気が付かなかったで
しょう。それなら、不確かな情報を書き込むな、と言われそうですが...m(__)m。

[ ]