メール一覧枠をアクティブにするマクロNo.03788
haru さん 01/11/06 16:00
 
いつも、御世話様です。

 鶴亀本体上で、マクロを使ってあるフォルダに移動した後、メー
ル一覧をアクティブにする方法は無いでしょうか?。
 移動する所まではマクロでうまくいったのですが、その後のメー
ル一覧枠のウィンドをアクティブするのがわかりません。マクロで
移動後は必ずフォルダ枠の方がアクティブになっています。
 あるいはその配下のいずれかのメールをアクティブにするという
ことでも構いません。
 どなたかご存じの方、いらっしゃいませんか?あるいはそんなこ
とできないんでしょうか?

 よろしくお願いします。

[ ]
RE:03788 メール一覧枠をアクティブにするマクロNo.03789
haru さん 01/11/06 16:07
 
>移動後は必ずフォルダ枠の方がアクティブになっています。

すみません。訂正します。

「移動前、フォルダ枠がアクティブなら、
移動後は必ずフォルダ枠の方がアクティブになっています。」です。

いずれにしてもマクロ実行後、必ずフォルダ枠の方をアクティブしたいのですが。

 よろしくお願いします。

[ ]
RE:03788 メール一覧枠をアクティブにするマクロNo.03790
プックン さん 01/11/06 16:12
 
haruさん、こんにちは。

下記のようなマクロを使えば、できるとおもいます。

//--------------------------マクロ------------------------------
$$ver  = "1.00";
$$date = "2001.11.06";
$$info = "Ver "+$$ver+ "\n最終更新日付:"+$$date ;

call Turukame $$info;

//アクティブ枠選択
//0:フォルダ枠
//1:メール一覧枠
//2:メール内容枠
#n = dllfunc( "SelectPane", 1);

LEND:
    freedll;
    endmacro;
   
Turukame:   //鶴亀メール起動チェック&DLLロード
$$info = $$1;
// modify pukkun 2000.11.07
//秀シリーズサポートHPより 抜粋
    // DLL を Load する
    openreg "CURRENTUSER","Software\\Hidemaruo\\TuruKame\\Config";
    if( !result ) {
    message "鶴亀がインストールされてないです (^^;)\n"+$$info;
    closereg ;
    endmacro;
    }
    $$TuruKameDir = getregstr( "TuruKameDir" );
    closereg ;
    loaddll $$TuruKameDir + "\\tkinfo.dll";
    if( !result ) {
    message "DLLロードに失敗\n"+$$info;
    endmacro;
    }
    return;
//--------------------------マクロ終わり------------------------------


[ ]
RE:03788 メール一覧枠をアクティブにするマクロNo.03791
tatuto さん 01/11/06 16:15
 
tatutoです。

haru<xxxxxxxxxx@maruo.co.jp>さんより適座引用しています。

>いつも、御世話様です。
>
> 鶴亀本体上で、マクロを使ってあるフォルダに移動した後、メー
>ル一覧をアクティブにする方法は無いでしょうか?。
> 移動する所まではマクロでうまくいったのですが、その後のメー
>ル一覧枠のウィンドをアクティブするのがわかりません。マクロで
>移動後は必ずフォルダ枠の方がアクティブになっています。
> あるいはその配下のいずれかのメールをアクティブにするという
>ことでも構いません。
> どなたかご存じの方、いらっしゃいませんか?あるいはそんなこ
>とできないんでしょうか?
>
> よろしくお願いします。

if( dllfunc("IsTuruKameMain") ) {
  #n = dllfunc("SelectPane",1);
} else {
  #main = dllfunc("MainWnd");
  #n = dllfunc("ExecAt",#main,"SelectPane",1);
}
をマクロの最後に追加すればよろしいかと

[ ]
RE:03789 メール一覧枠をアクティブにするマクロNo.03792
秀まるお2 さん 01/11/06 16:16
 
>いずれにしてもマクロ実行後、必ずフォルダ枠の方をアクティブしたいのですが。

 鶴亀メール本体ウィンドウ上で実行しているのなら、SelectPane関数を使えば
いいです。

    #n = dllfunc("SelectPane", 0);

 とすればフォルダ枠がアクティブになります。詳しくはヘルプを参照ください。

[ ]
RE:03791 メール一覧枠をアクティブにするマクロNo.03793
tatuto さん 01/11/06 16:28
 
tatutoです。

tatuto<xxxxxxxxxx@maruo.co.jp>さんより適座引用しています。

>if( dllfunc("IsTuruKameMain") ) {
>  #n = dllfunc("SelectPane",1);
>} else {
>  #main = dllfunc("MainWnd");
>  #n = dllfunc("ExecAt",#main,"SelectPane",1);
>}
>をマクロの最後に追加すればよろしいかと

freedll;
の前に追加して下さい (^_^;)

[ ]
RE:03791 メール一覧枠をアクティブにするマクロNo.03795
haru さん 01/11/06 16:47
 
tatutoさん、こんにちは。。

>をマクロの最後に追加すればよろしいかと

ありがとうございます。早速やってみます。

[ ]
RE:03790 メール一覧枠をアクティブにするマクロNo.03796
haru さん 01/11/06 16:49
 
プックンさん、こんにちは。

>下記のようなマクロを使えば、できるとおもいます。

ありがとうございます。早速やってみます。

[ ]
RE:03792 メール一覧枠をアクティブにするマクロNo.03797
haru さん 01/11/06 16:51
 
秀まるお2さん、こんにちは。

> とすればフォルダ枠がアクティブになります。詳しくはヘルプを参照ください。

ありがとうございます。ヘルプを見たんですが、見逃していました。

[ ]
RE:03788 メール一覧枠をアクティブにするマクロNo.03803
たるっぱ さん 01/11/06 19:35
 
たるっぱです。

フォルダ枠をアクティブにする方法は、皆さん答えてらっしゃるので

> あるいはその配下のいずれかのメールをアクティブにするという
>ことでも構いません。

これにプラスアルファということで、移動後メールをアクティブにする方法を
考えてみました。
[全般的な設定][基本][詳細][鶴亀メール側でMessage-IDヘッダを生成する]
がチェックされていないとうまく働きません。

まず、メール移動前に

//--------------------------------------------------------------------
$msgid = dllfuncstr( "CurrentHeader", "Message-Id");
//--------------------------------------------------------------------
このようにして、Message-IDを記録しておきます。

そして、移動後に次のような処理を行います。
事前に、$accに対象アカウントを、$folderに移動先フォルダを設定しておい
てください

//--------------------------------------------------------------------
// 移動先フォルダを選択する

if (!dllfunc( "SelectFolder", $acc, $folder )) {
    message "移動先フォルダを選択できません";
    endmacro;
}

// 移動先メールを検索する
$srchstr = "(\""+$msgid+"\", target=\"Message-Id\")";
if (!dllfunc("SetFindPack", $srchstr )) {
    message "検索条件を設定できません";
    endmacro;
}
#dmy = dllfunc("SetMailIndex", 0);
#dmy = dllfunc("FindDown");
//--------------------------------------------------------------------

これにSelectPaneを組み合わせることで、常に移動後メールにフォーカスが
行くようになるはずです。

[ ]
RE:03803 メール一覧枠をアクティブにするマクロNo.03812
haru さん 01/11/07 10:04
 
たるっぱさん、こんにちは。

>これにプラスアルファということで、移動後メールをアクティブにする方法を
>考えてみました。
>[全般的な設定][基本][詳細][鶴亀メール側でMessage-IDヘッダを生成する]
>がチェックされていないとうまく働きません。
チェックしておいて、
>まず、メール移動前に
>このようにして、Message-IDを記録しておきます。
新規メールでは、ヘッダの表示を全て表示にしてもMessage-IDは現れません。

>$srchstr = "(\""+$msgid+"\", target=\"Message-Id\")";
>if (!dllfunc("SetFindPack", $srchstr )) {
>    message "検索条件を設定できません";
>    endmacro;
>}
これを実行するんですが、うまくいきませんでした。
新規メールでは駄目なんでしょうか?

[ ]
RE:03812 メール一覧枠をアクティブにするマクロNo.03821
たるっぱ さん 01/11/07 12:12
 
haruさんこんにちは、たるっぱです。

>>まず、メール移動前に
>>このようにして、Message-IDを記録しておきます。
>新規メールでは、ヘッダの表示を全て表示にしてもMessage-IDは現れません。

ええと、マクロで移動をなさっているんですよね。
保存されたメールに対してしかMove関数は働かないはずですから、新規メールの
場合、SaveDraftなりSendLaterなりの後にMessage-IDを記録して、Moveするこ
とを想定しています。
一旦保存さえすれば、Message-IDは付与されるようです。

もし、移動をマウス操作や[フォルダへ移動]コマンドで行うことを考えて
らっしゃるのならば、ごめんなさい、このマクロではできません。

[ ]
RE:03821 メール一覧枠をアクティブにするマクロNo.03822
haru さん 01/11/07 12:29
 
たるっぱさん、こんにちは。

>もし、移動をマウス操作や[フォルダへ移動]コマンドで行うことを考えて
>らっしゃるのならば、ごめんなさい、このマクロではできません。

 実は以前たるっぱさんに教えて頂いた方法で、新規メールを草稿
サブフォルダに移動しています。
 今は、subjectをキーにして検索してフォーカスしているのです
が、メッセージIDならキーが重複することなくうまくいきそうだと
思い、流用させて頂くつもりでしたが、残念です。

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

[ ]
RE:03822 メール一覧枠をアクティブにするマクロNo.03833
たるっぱ さん 01/11/07 18:27
 
haruさんこんにちは、たるっぱです。

私の説明の仕方が良くなかったようですね。
マクロで移動しているのならば適用は可能なんです。

以前お見せしたマクロをちょっと書き換えてみました。
"// エディタウィンドウを閉じる"以降を、以下のようにしたんですが
これで、移動済みのメールに必ずフォーカスが行くようになりました。

Message-IDはSaveDraftの時点で付加されているらしいです。

----------------------------------------------------------------------
// エディタウィンドウを閉じる
$msgid = dllfuncstr( "CurrentHeader", "Message-Id");
closehidemaru #handle;

// メールを移動する
#dmy = dllfunc( "Move", $acc, $folder[#flseq] );

// 移動先フォルダを選択する
if (!dllfunc( "SelectFolder", $acc, $folder[#flseq] )) {
    message "移動先フォルダを選択できません";
    endmacro;
}

// 移動済メールを検索する
$srchstr = "(\""+$msgid+"\", target=\"Message-Id\")";
if (!dllfunc("SetFindPack", $srchstr )) {
    message "検索条件を設定できません";
    endmacro;
}
#dmy = dllfunc("SetMailIndex", 0);
#dmy = dllfunc("FindDown");
#dmy = dllfunc("SelectPane", 1);

// 終了
endmacro;
----------------------------------------------------------------------

[ ]
RE:03833 メール一覧枠をアクティブにするマクロNo.03838
haru さん 01/11/08 09:20
 
たるっぱさん、こんにちは。

ありがとうございます。
>Message-IDはSaveDraftの時点で付加されているらしいです。
Message-IDがくっついているものは、うまくいっていきそうです。

[ ]