エディタから常駐鶴亀にマクロ制御を戻すNo.08838
capa さん 05/01/10 20:25
 
capa です。

受信メールを自動処理して返信するマクロを作成しているのですが、返
信エディタから常駐鶴亀に戻る方法が分からずに詰まってしまいました。

マクロの該当部分はこんな感じです。

--
// 返信メールの作成
#n = dllfunc("MakeReplyCustom", "Single", "");
  :
#n = dllfunc("SendLater");
// エディタから本体へ制御切り替え
#main = findwindowclass("TuruKameFrame");
#handle = hidemaruhandle(0);
setactivehidemaru #main;
closehidemaru #handle;
// 以下本体側の処理が続く
  :
--

鶴亀本体ウィンドウが存在する場合は上記コードで問題ないのですが、
常駐鶴亀のみの場合、setactivehidemaru では本体へ切り替えられない
ようで、エディタウィンドウは閉じずに、その後の本体側に対する処理
で「エディタウィンドウで実行できないtkinfo.dll関数が…」となって
しまいます。

現在は常駐鶴亀のみの場合は事前に RestoreWindow で本体を表示させて
処理後に本体を Exit するようにしていますが、もっとスマートな手法
はないものでしょうか。よろしくご教授願います。

[ ]
RE:08838 エディタから常駐鶴亀にマクロ制No.08842
秀まるお さん 05/01/11 10:49
 
> 現在は常駐鶴亀のみの場合は事前に RestoreWindow で本体を表示させて
> 処理後に本体を Exit するようにしていますが

 現状の鶴亀メールではそうするしか無いようです。基本的に、見えないウィン
ドウへのマクロ実行の切り替えは出来ないです。

> もっとスマートな手法はないものでしょうか。

 非表示になっている鶴亀本体ウィンドウ上に無理矢理マクロ実行だけ移行させ
る手段を用意しようかと思ったんですけど、技術的に難しいです。特に、「鶴亀
メール起動時にパスワードを要求する」および「アイコンから復帰する時にもパ
スワードを要求する」がONになっている時に都合の悪い状況となります。

 なので、やはり現状のやり方のままでがまんして欲しいです。どっちにしても
MakeReplyで画面ばばたばたするには違いないし。

 しいてなんとかするとしたら、MakeReply類を使うんじゃなくて、runsync2文
を使って"turukame.exe unsentmail ...."みたいなコマンドライン指定で返信
メールを無理矢理作成するって作戦になろうかと思います。

[ ]
RE:08842 エディタから常駐鶴亀にマクロ制No.08843
capa さん 05/01/11 11:28
 
capaです。

> 現状の鶴亀メールではそうするしか無いようです。基本的に、見えないウィン
>ドウへのマクロ実行の切り替えは出来ないです。

そうでしたか。現状、手段がないことが分かっただけでも収穫です。

> なので、やはり現状のやり方のままでがまんして欲しいです。どっちにしても
>MakeReplyで画面ばばたばたするには違いないし。

はい、MakeReplyで画面がパタパタしますし、cmd /c で copy コマンド
なども使っているので実は本体を一度表示させるくらいはほとんど問題
になりません。

技術的に可能ならば方法を知りたいなと思っての質問でした。今後必要
になれば秀まるおさんに紹介いただいたコマンドラインから作成する手
法を使用したいと思います。

丁寧な回答ありがとうございました。

[ ]