メール複数選択中のメール受信No.34893
Kaz さん 08/10/15 11:49
 
 メールを整理するときにメール一覧のメールを選択し、
シフトキーを押しながら上矢印で遡っていき(時系列的には
上が最新です)、既読操作してアーカイブフォルダへ移動
というようなことやっています。

 このシフトキーを押しながら上矢印で遡って行く途中で
自動受信にてメールを受信したときに選択範囲は変わって
しまう現象があります。
 これは不具合でしょうか?
 操作の問題でしょうか?

[ ]
RE:34893 メール複数選択中のメール受信No.34895
秀まるお2 さん 08/10/15 14:47
 
 範囲選択の変わり方がどうふう風かによって、仕様と言える物なのかバグなの
かが変わってきますけども…。

 受信したメールが勝手に選択された扱いになることは無うので、例えば受信し
て入ってきたメールをスキップしたような形で範囲選択されるとしたら、それは
それで仕様になると思います。

[ ]
RE:34895 メール複数選択中のメール受信No.34903
Kaz さん 08/10/17 10:47
 
 Kazと申します。
 お返事が遅れました。

> 受信したメールが勝手に選択された扱いになることは無うので、例えば受信し
>て入ってきたメールをスキップしたような形で範囲選択されるとしたら、それは
>それで仕様になると思います。

 シフトを押しながら矢印で遡って複数選択中に受信すると
その瞬間今までの複数選択がリセットされ、メールから複数選択が
始まる感じです。
 ホントにそうなったのか自信がなくなってきたので、
もう一度やってみます。
 そもそも受信箱に山ほどあるメールを処理しない自分も
悪いと反省中ですのでまた後ほど確認します。

[ ]
RE:34903 メール複数選択中のメール受信No.34904
秀まるお2 さん 08/10/17 11:02
 
 テストしてなくてすみません。

 範囲選択が勝手に解除されるのは…。すみませんが、そういうこともありえる
と思います。

 例えば、スレッド表示の場合で、何かメールを受信したことによってスレッド
のツリー構造を変えないと行けないようなケースがあったとすると、それによっ
てスレッド表示全体をもう一度作り直すような処理が働くことがあります。そう
なってしまった場合は複数選択してたのが全部リセットされてしまいます。

 スレッド表示じゃなくて一覧表示の場合なら、単純に受信したメールをどこか
に挿入するだけになると思いますけども…。今ちょっと簡単にテストした限りは
そうなりました。ただ、その後Shift+上下矢印キーを押すと、途中に存在してい
た未選択の新着メールが選択状態になってしまうようではあります。(これも仕
様ということになるような気がする)

 ということで、それはそれで仕様ということでがまんして使っていただくしか
無いように思います。

[ ]
RE:34903 メール複数選択中のメール受信No.34906
K'zawa さん 08/10/17 11:40
 
Kazさん、こんにちは。
K'zawa/ユーザーです。

メールを読み書きしていない時、
常駐秀丸メールのみ(ウインドウを閉じている)なら、

[全般的な設定] - [定期受信] - [最小化中/常駐秀丸メールだけの時のみ]

をONにしておけば、予想外の事態になることもないと思います。
普段から開きっ放しだと定期受信してくれないので駄目ですが…。

[ ]
RE:34906 メール複数選択中のメール受信No.34908
Kaz さん 08/10/17 12:25
 
 Kazです。

>[全般的な設定] - [定期受信] - [最小化中/常駐秀丸メールだけの時のみ]
>
>をONにしておけば、予想外の事態になることもないと思います。
>普段から開きっ放しだと定期受信してくれないので駄目ですが…。

 全然OKですね。
 その設定でいきます。

 そもそも整理するべき時に手動で受信するというのが、
やりかたとしては今の私にあっているようなんでやり方を
替えてみます。

[ ]
RE:34908 メール複数選択中のメール受信No.34910
アルビレオ さん 08/10/17 12:55
 
ユーザーのアルビレオです。

試していませんが、もしSetCancelが定期受信もキャンセルできるのなら自動起
動マクロの「送受信の開始直前」を

loaddll "tkinfo.dll";
#n = dllfunc("GetTransmitCommandCode");
if(#n == 1){//定期受信のみチェック
  #n = dllfunc("SelectedMailCount");
  if(#n >= 2) #n = dllfunc("SetCancel", 1);//複数選択中ならキャンセル
}

とすることで対処できそうです。
複数選択状態のままにしておくと、いつまでも定期受信されないので注意が必要
ですが。

[ ]