メールのフォルダ移動No.00629
ドリキン さん 00/12/06 08:42
 
# 要望でなく質問ですがいいですか?
   質問はだめでしたらご指摘下さい。

"Key[F1]"を押すと、現在選択されているメールを
"フォルダ「Myごみ箱」"に移動する

というようなマクロを組みたいのですがどうしたらよいで
しょうか( 要するに「 [Delete]Keyを押したら選択され
ているメールをごみ箱に移動する」相当のことをしたいわ
けです。)

超初歩的(トンチンカン)な質問ですみません。

# 秀丸エディタでの超簡単なマクロは組んだことがあるので
   マクロの基本の基本はわかっていると自分では思っている
   のですが、具体的に鶴亀におけるマクロで以下の点がわか
   りません。

1) 選択されているメールをあるフォルダに移動するコマンド
2) マクロのキー割り当て

以上お願いします。

[ ]
RE:00629 メールのフォルダ移動No.00630
きいろいまふらあ さん 00/12/06 09:40
 
ドリキンさんおはようございます。まふです。
Myゴミ箱にすれば、そのまま再送信もできますね。一石二鳥。

>"Key[F1]"を押すと、現在選択されているメールを
>"フォルダ「Myごみ箱」"に移動する

マクロ自体は例えばこんな感じになるでしょう。

//ここから
//このマクロを実行してよい状態かチェック
  loaddll "tkinfo.dll";
  if( !result ) {
    message "このマクロは鶴亀メールでしか実行できません。"
          + "(またはtkinfo.dllがロードできないエラーです)";
    goto myExit;
  }
  if( !dllfunc("IsTuruKame") ) {
    message "このマクロは鶴亀メールでしか実行できません。";
    goto myExit;
  }
  if( !dllfunc("IsTuruKameMain") ) {
    message "このマクロは鶴亀メール本体ウィンドウでしか"
          + "実行できません。";
    goto myExit;
  }
//選択されているメールを別フォルダに移動
  #n = dllfunc("Move","","受信\\Myゴミ箱");  //←★

myExit:
  freedll;
endmacro;
//ここまで

>1) 選択されているメールをあるフォルダに移動するコマンド

上の★の1行でいっぱつです。ヘルプ(tkinfo.dllの関数)参照。

>2) マクロのキー割り当て

1)マクロファイル(*.mac)を秀丸のマクロフォルダに置く
2)鶴亀のメニュー「マクロ」→「マクロ登録」で「マクロ1」から
 「マクロ8」の空いているところに、1)のマクロを登録。
3)鶴亀のメニュー「設定」→「キー割り当て」で
 2)で登録した「マクロ?」に好きなキーを割り当て。
 Deleteキーもわりあてられます。

ってな手順になりましょうか。

[ ]
RE:00630 メールのフォルダ移動No.00633
ドリキン さん 00/12/06 11:29
 
丁寧というより完璧なレス有り難うございました!!
大変、助かりました。( 感激!! )

[ ]
RE:00633 メールのフォルダ移動No.00636
ひろ さん 00/12/06 15:40
 
 ドリキンさん今日は、ひろです。
> 丁寧というより完璧なレス有り難うございました!!
> 大変、助かりました。( 感激!! )
 もう終わっているようですが、ちょっと一言。きいをまふらあさんの
macro を使う場合、一つ注意が必要です。「Myゴミ箱」が作成済みならば問
題ないのですが、作成されていない場合、mail が消えます (少なくとも
Ver.0.49 辺りまでは)。

 ##bug として報告すべきなのかなあ〜。

[ ]
RE:00636 メールのフォルダ移動No.00639
ドリキン さん 00/12/06 16:09
 
>macro を使う場合、一つ注意が必要です。「Myゴミ箱」が作成済みならば問
>題ないのですが、作成されていない場合、mail が消えます (少なくとも
>Ver.0.49 辺りまでは)。

情報有り難うございました。

マクロで指定したフォルダ名と実際のフォルダ名を
間違えてしまったために(この投稿を読む前に)経験して
しまいました(笑)

[ ]
RE:00639 メールのフォルダ移動No.00642
きいろいまふらあ さん 00/12/06 18:03
 
ひろさん、ドリキンさんこんにちは。
配慮不足だったようで、すみませんでした。

> >macro を使う場合、一つ注意が必要です。「Myゴミ箱」が作成済みならば問
> >題ないのですが、作成されていない場合、mail が消えます (少なくとも
> >Ver.0.49 辺りまでは)。

貴重な情報ありがとうございました。>ひろさん
「存在しないフォルダだったら何もしない」という仕様がいいですね。
要望としてあげさせていただきます。>まるおさん

> マクロで指定したフォルダ名と実際のフォルダ名を
> 間違えてしまったために(この投稿を読む前に)経験して
> しまいました(笑)

ごめんなさいーーー。
受信ログから復活されていることを切に願います。
償いの意味も込めて、フォルダの存在確認をするコードを書きました。

SelectFolderが、選択に失敗したときに変な数値を返すので、
過剰なチェックになってます。(^^;

先のマクロの

> //選択されているメールを別フォルダに移動
>   #n = dllfunc("Move","","受信\\Myゴミ箱");  //←★

の部分を

//ここから
//移動先フォルダを定義(ほんとはマクロの先頭でやっておきたい)
  $myfolder = "受信\\Myゴミ箱";
//現在のフォルダを記憶
  $c_folder = dllfuncstr("CurrentFolder");
//移動先フォルダの存在をチェック
  #n = dllfunc("SelectFolder",dllfuncstr("CurrentAccount"),$myfolder);
  if(dllfuncstr("CurrentFolder") != $myfolder){
    message $myfolder + "が見つかりません。";
    goto myExit;
  }
//記憶したフォルダに戻る
  #n = dllfunc("SelectFolder",dllfuncstr("CurrentAccount"),$c_folder);
  if(dllfuncstr("CurrentFolder") != $c_folder){
    message $c_folder + "に戻れませんでした。";
    goto myExit;
  }
//選択されているメールを別フォルダに移動
  #n = dllfunc("Move","",$myfolder);
//ここまで

に置き換えてみてください。

[ ]
RE:00639 メールのフォルダ移動No.00643
ひろ さん 00/12/06 18:25
 
 ドリキンさん今日は、ひろです。
> マクロで指定したフォルダ名と実際のフォルダ名を
> 間違えてしまったために(この投稿を読む前に)経験して
> しまいました(笑)
 あらら。というわけで私が使っている sample macro を掲載しようかと思っ
たのですが、Ver.0.53 では、上記のような macro などで鶴亀起動後に作成し
場合を含め、folder area に list up されていない folder へは、例え存在
していても Move は使用できなくなっているようです。

 ##まあこのほうが安全だから良いか。それとも OS によって違うのか?

[ ]
RE:00642 メールのフォルダ移動No.00645
ドリキン さん 00/12/07 08:04
 
きいろいまふらーさん、ひろさん
いろいろと、ありがとうございます。

>ごめんなさいーーー。

サーバーにメールを残しているので大丈夫です。
ご心配なく。

>受信ログから復活されていることを切に願います。

また、初歩的な質問で大変恐縮ですが・・・
# 受信ログは推奨にしたがってとっています。
受信ログからメールを復活する方法をご教授
いただけないでしょうか?

[ ]
RE:00645 メールのフォルダ移動No.00646
"y.iida" さん 00/12/07 09:00
 
>また、初歩的な質問で大変恐縮ですが・・・
># 受信ログは推奨にしたがってとっています。
>受信ログからメールを復活する方法をご教授
>いただけないでしょうか?

右Clickからログを開く→名前を付けて保存→インポート(Outlook Express)
で、行けます。

[ ]
RE:00646 メールのフォルダ移動No.00647
ドリキン さん 00/12/07 09:21
 
>右Clickからログを開く→名前を付けて保存→インポート
(Outlook Express)で、行けます。

やってみました。できました、有り難うございました。

[ ]
RE:00645 メールのフォルダ移動No.00648
きいろいまふらあ さん 00/12/07 09:30
 
ドリキンさん、おはようございます。

> サーバーにメールを残しているので大丈夫です。

ああ、よかったです。

> 受信ログからメールを復活する方法をご教授
> いただけないでしょうか?

設定→全般的な設定→フォルダの「表示するフォルダ」で
「受信ログフォルダを表示する」をチェックしておきます。
んで、受信ログフォルダの中の好きなメールを選択し、
編集、あるいは右クリックメニューから
「受信解析のやりなおし」を選択すると、
あたかもそのメールを新規に受信したかのように、
受信フォルダにそのメールが復活します。

受信ログ内のメールの2バイト文字(≒全角文字)は、
文字コードの関係で読めません。
メール一覧枠の情報と、文章のシルエット(^^;から
特定のメールを探すことになります。

ああ、これ↑は「秀丸エディタの動作環境」の「編集」で
「EUCコードとJISコードの自動認識をする」をチェックしておくと
改善されるのかもしれません。完全ではないのかもしれませんが。
#知らなかった。(^^;

[ ]
RE:00648 メールのフォルダ移動No.00649
"y.iida" さん 00/12/07 10:16
 
>「受信解析のやりなおし」を選択すると、
>あたかもそのメールを新規に受信したかのように、
>受信フォルダにそのメールが復活します。

しまった、普段表示していないから、すっかり忘れていました(^^ゞ
こっちの方が断然、簡単でしたね。
知っていながら、役立たずでした。申し訳ない(^^;;; >ドリキンさん

[ ]
RE:00636 メールのフォルダ移動No.00893
秀まるお さん 00/12/17 23:49
 
>  もう終わっているようですが、ちょっと一言。きいをまふらあさんの
> macro を使う場合、一つ注意が必要です。「Myゴミ箱」が作成済みならば問
> 題ないのですが、作成されていない場合、mail が消えます (少なくとも
> Ver.0.49 辺りまでは)。

 確認したら、たしかにそうなってるみたいです。ってことで修正させていただきま
した。

 さらに、Move関数およびCopy関数の復帰値をちゃんと返すように修正しました。
(失敗した場合は0を返すように)

[ ]
RE:00893 メールのフォルダ移動No.00930
ひろ さん 00/12/18 10:18
 
 秀まるお様今日は、ひろです。
>  確認したら、たしかにそうなってるみたいです。ってことで修正させていただきま
> した。
 Ver.0.53 で確認したとき、何故か移動自体をしなかったような気がする
けど、修正した頂いたようなので、まあ良いか(^^)。

>  さらに、Move関数およびCopy関数の復帰値をちゃんと返すように修正しました。
> (失敗した場合は0を返すように)
 有り難うございます。これでエラー処理が出来ます。

[ ]