Message-IdからのジャンプNo.08265
og さん 02/07/16 15:31
 
こんにちは。
ver.2.02を使っております。

以前に出ていましたらすみません。
Message-Id:ヘッダですが、
本文中にこれを書き込んだメールがあった場合、
そこから該当メールにジャンプはできないでしょうか?

[ ]
RE:08265 Message-IdからのジャンプNo.08266
秀まるお2 さん 02/07/16 16:03
 
>Message-Id:ヘッダですが、
>本文中にこれを書き込んだメールがあった場合、
>そこから該当メールにジャンプはできないでしょうか?

 鶴亀メール開発初期にこの要望が出たんですけど、未だに対応してないです。

 一応、マクロから該当するメールを検索させる程度なら出来ますけど。まぁそんな
に難しく無いので早めに対応したい所です。

[ ]
RE:08266 Message-IdからのジャンプNo.08267
かわした さん 02/07/16 18:15
 
かわしたです。

>>Message-Id:ヘッダですが、
>>本文中にこれを書き込んだメールがあった場合、
>>そこから該当メールにジャンプはできないでしょうか?

以下のマクロでどうでしょう。本体で実装されるまでの間ででもお
使いください。

--
loaddll "tkinfo.dll";
if(!selecting){
  message "メッセージID上にカーソルを置いて実行してください";
  goto END;
}
copy;
beginclipboardread;
$mid=getclipboard;
#handle=hidemaruhandle(0);
if(#handle!=dllfunc("MainWnd")){
  #n=dllfunc("Sync");
  #n=dllfunc("SetMainWndTop");
  #editor=1;
}
#n=dllfunc("SetFindPack","(\""+$mid+"\",target=\"Message-ID:\"),inmail=2");
if(!dllfunc("FindUpInclude")){
  if(!dllfunc("FindDownInclude")){
    message "該当メールはありません";
  }
}
if(#editor){
  setactivehidemaru #editor;
  #n=dllfunc("BackSync");
}
END:
  freedll;
  endmacro;

[ ]
RE:08267 Message-IdからのジャンプNo.08269
og さん 02/07/16 21:11
 
秀まるお2さん、かわしたさん、ありがとうございます。

> 一応、マクロから該当するメールを検索させる程度なら出来ますけど。まぁそんな
>に難しく無いので早めに対応したい所です。

よろしくお願いします。

>以下のマクロでどうでしょう。本体で実装されるまでの間ででもお
>使いください。

ありがとうございます。早速登録させていただきました。
が、教えてください。
マクロは、秀丸エディタ側に登録したのですが良かったでしょうか?
(私、マクロはすべて秀丸エディタ側に登録しております)
マクロを鶴亀本体から実行すると「メッセージIDの上にカーソルを置いて
実行してください。(秀丸)」と出ます。
ここでメッセージIDの上にカーソルを置くのですが、
これの繰り返しなのです。
キー割り当てもやってみたのですが、同じです。
どこが間違っているのでしょうか?

[ ]
RE:08269 Message-IdからのジャンプNo.08271
かわした さん 02/07/17 00:58
 
かわしたです。説明不足でした。

いちおう鶴亀本体でもエディタでも動作するように作ったつもりで
すが、マクロ実行前に閲覧中メール本文のMessage-IDの部分をクリ
ックして、ID部分が反転した状態でマクロを実行してください。

>マクロを鶴亀本体から実行すると「メッセージIDの上にカーソルを置いて
>実行してください。(秀丸)」と出ます。

このメッセージは、何も領域が選択されていない(=Message-IDが反
転していない)場合のエラーメッセージのつもりでした。分かりに
くかったですね。このメッセージが出たあとは何もせずにマクロを
終了するので、その後にMessage-IDをポイントしても何も起こりま
せん。

なお、閲覧メールが編集可能な状態の場合は Message-ID カーソル
があるだけではうまく動作しません。この場合はMessage-ID の部
分を領域選択してからマクロ実行すればよいはずです。

[ ]
RE:08267 Message-IdからのジャンプNo.08272
きいろいまふらあ さん 02/07/17 02:02
 
横から失礼いたしますが、

>if(!selecting){
>  message "メッセージID上にカーソルを置いて実行してください";
>  goto END;
>}

メッセージとはうらはらに、上にカーソルを置いただけではマクロが終了してし
まいそうな。メッセージを「メッセージIDを選択して」とするか、マクロで
selectwordしてやるなどといったところでしょうか?

[ ]
RE:08272 Message-IdからのジャンプNo.08289
かわした さん 02/07/17 18:23
 
かわしたです。

>メッセージとはうらはらに、上にカーソルを置いただけではマクロが終了してし
>まいそうな。メッセージを「メッセージIDを選択して」とするか、マクロで
>selectwordしてやるなどといったところでしょうか?

表示するメッセージが悪かったのが一番の原因なのですが(^^;元の
マクロは事前にMessage-IDを閲覧中のメールで選択状態にしてから
実行されることを前提としていたので、マクロ実行後にIDを選択す
ることは全く想定していませんでした。

Message-IDの切り出しは鶴亀の機能(閲覧中はアドレスらしき部分
をクリックするとアドレス全体が反転=選択状態になる)に頼って
ますので、これ以上手を加えるつもりはありません。そもそも選択
した部分がMessage-IDかどうかの判定処理もしてないし。

…とはいえ、実は hidesoft.8:08267 にはこっそりバグがありまし
たので、修正ついでにマクロ実行後にもMessage-IDを選択できるよ
うにしてみました。以下のマクロでどうぞ > ogさん

# マクロ実行前にMessage-IDを選択状態にしておいたほうが手数が
# 少なくてすみますけど

--
loaddll "tkinfo.dll";
while(!selecting){
  question "Message-IDを選択してEnterを入力してください";
  if(result==yes) inputpos "Message-IDをクリックしてEnterを入力してください";
  else{
    message "マクロを中止します";
    goto END;
  }
}
copy;
beginclipboardread;
$mid=getclipboard;
#handle=hidemaruhandle(0);
if(#handle!=dllfunc("MainWnd")){
  #n=dllfunc("Sync");
  #n=dllfunc("SetMainWndTop");
  #editor=1;
}
#n=dllfunc("SetFindPack","(\""+$mid+"\",target=\"Message-ID:\"),inmail=2");
if(!dllfunc("FindUpInclude")){
  if(!dllfunc("FindDownInclude")){
    message "該当するメールはありませんでした\nMessage-ID: "+$mid;
  }
}
if(#editor){
  setactivehidemaru #handle;
  #n=dllfunc("BackSync");
}
END:
  freedll;
  endmacro;

[ ]
RE:08289 Message-IdからのジャンプNo.08291
og さん 02/07/17 20:55
 
ogです。
かわしたさん、きいろいまふらあさん、ありがとうございます。

今日は何度もお礼を返信しようとしているのですが、WEBフォーラムから「コメント
を投稿する」をクリックすると、画面が消えてしまって返信ができませんでした。鶴
亀からも送信したのですが、
どうも反映されていないようなので、ブラウザをIEに代えて
再度送っています。遅くなって申し訳ありません。

結果的には、最初のマクロで成功しております。
Message-IDにカーソルを当てても反転はしないので、ドラッグで範囲指定して実行し
ましたらできました。

受信したメールを編集可能には設定していないのですが、範囲指定しないといけない
ことが分かりました。

ありがとうございました。

[ ]
RE:08291 Message-IdからのジャンプNo.08298
かわした さん 02/07/18 09:36
 
かわしたです。

>Message-IDにカーソルを当てても反転はしないので、ドラッグで範囲指定して実行し
>ましたらできました。

申し訳ありません。Message-IDクリックでアドレスを選択するのは
秀丸標準の機能だと思っていましたが、[設定][秀丸エディタの動
作環境][ユーザーインターフェース]で設定する環境依存機能だっ
たのですね。認識不足でした。

ここで、クリックなどでアドレスの選択を行うような設定をしてい
なければ当然、明示的に範囲指定をしてやる必要があります。

>受信したメールを編集可能には設定していないのですが、範囲指定しないといけない
>ことが分かりました。

結局、編集可能であるかどうかはクリックでMessage-ID全体を選択
できるかどうかには関係ありませんでした。「編集可能状態ならク
リックでも選択されない」などと誤ったことを書いてしまい重ね重
ね申し訳ないです。


申し訳ないついでに(^^;
ogさんは最初のマクロをお使いなのですよね? でしたら、マクロ
の最後から6行目の

  setactivehidemaru #editor;

の行を

  setactivehidemaru #handle;

と変更してお使いください。偶然うまく動いてますが、こうしない
と複数のエディタウィンドウを開いてる場合に問題が発生するかと
思います。

[ ]
RE:08298 Message-IdからのジャンプNo.08302
og さん 02/07/18 11:02
 
かわしたさん、ありがとうございます。

教えて頂いたように、秀丸エディタの動作環境から
クリックでアドレス選択に変更しました。
これでかわしたさんのおっしゃる動作ができました。
範囲を選択してから実行するより楽です。

>ogさんは最初のマクロをお使いなのですよね? でしたら、マクロ
>の最後から6行目の
>  setactivehidemaru #editor;
>の行を
>  setactivehidemaru #handle;
>と変更してお使いください。偶然うまく動いてますが、こうしない
>と複数のエディタウィンドウを開いてる場合に問題が発生するかと
>思います。

これも変更しました。問題は発生していなかったのですが
可能性があるということですので。

色々とありがとうございました。

[ ]