【質問】マクロが作動しません。No.43926
どら焼き さん 13/01/10 14:54
 
マクロが作動しません。

こんにちは、どら焼きです。
最近もお忙しい中、希望をきいてもらってありがとうございます。

※長文失礼します。

さて、質問ですが、秀丸メールマクロライブラリに掲載されている、
緒方聡さん作「hidebiff - メール着信通知(1.2.8)」が私のところで
作動しません。

 OS      :Win7 32bit
 秀丸メールVer:6.10 beta23

下記を行いましたが動作しません。

●ライブラリからDLした”hidebiff128.zip”を解凍してできたファイルを
 すべて、マクロフォルダにコピーしてます。
 ※マクロフォルダは秀丸メールがあるフォルダ(C:\Program Files)でなく、
  ユーザーフォルダに設定してあります
  (会社支給PCのため、\Program Filesにプロテクトがかかり、通常の
   コピーができないため)。

●本マクロを動かすのに必要な”toastnotify-0_9_1_1.zip”を解凍して
 できたファイルをすべて、マクロフォルダにコピーしてます。

●hidebiff128.zip解凍後のhidebiff.mht(マニュアル)どおりに、
 hidebiff.exeを実行し、”ToastNotify.exe”を指定しました。
 その時はテストのような感じで、通知が表示され、きちんと動いたと思います。

●hidebiff.mht(マニュアル)どおり、マクロ登録で、
 「自動起動」の「秀丸メール終了時」、「受信が一段落した時」、
 「送受信の開始直前」それぞれに”hidebiff.mac”を登録しました。

●その後、テストで自分に送信→受信しましたが、何も通知が出ません。
 しばらく使っていましたが、他のメールでも同様、通知が出ませんでした。


動作するための条件があるのでしょうか?
例えば 秀丸メール常駐+最小化+タスクトレイ の条件下で
動作する、みたいな。

下記にマクロ全文を記載いたします(緒方聡さん、勝手に掲載してすいません)。
お忙しい中すいませんが、ご確認をお願いできますでしょうか。
よろしくお願いいたします。


−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
// Copyright (C) 2006-2012 Satoshi Ogata
// hidebiff.mac
// 2012.06.13:
//  - 64bit 対応
// 2011.12.29:
//  - hidebiff.dll を廃止し、マクロに実装を復活
// 2009.08.06:
//  - このマクロの多くの処理を hidebiff.dll へ移譲
// 2009.05.23:
//  - 秀丸メールの受信処理と同時に hidebiff が動作してしまう不具合を改修

loaddll "TKInfo.dll";
if (!result) {
 message "このマクロは秀丸メールでしか実行できません。";
 endmacro;
}

if (!dllfunc("IsTuruKame")) {
 message "このマクロは秀丸メールでしか実行できません。";
 endmacro;
}

#reason = dllfunc("ReasonMacroStarted");

if (#reason == 4) { // ExecMacro命令によって起動された場合
 #n = dllfunc("SelectRecvMail");
} else if (#reason == 3) {
 openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
 writeregnum "FilterLog", 0;
 closereg;
 #n = dllfunc("EnvChanged");
 #count = dllfunc("RecvMailCountShow");
 if (#count > 0) {
  #limit = getininum(macrodir + "\\hidebiff.ini", "Settings", "LimitCount");
  if (#count <= #limit) {
   $path = macrodir + "\\hidebiff.exe -r " + str(#count);
  } else {
   openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
   $mailPath = getregstr("TuruKameDir") + "\\TuruKame.exe";
   closereg;
   
   $icon = getinistr(macrodir + "\\hidebiff.ini", "ToastNotify", "icon");
   $module = getinistr(macrodir + "\\hidebiff.ini", "ToastNotify", "module");
   $effect = getinistr(macrodir + "\\hidebiff.ini", "ToastNotify", "effect");
   $position = getinistr(macrodir + "\\hidebiff.ini", "ToastNotify", "positi
on");
   $visibirity = getinistr(macrodir + "\\hidebiff.ini", "ToastNotify", "visi
birity");
   $timeout = getinistr(macrodir + "\\hidebiff.ini", "ToastNotify", "timeout");
   $alarm = getinistr(macrodir + "\\hidebiff.ini", "ToastNotify", "alarm");
   if ($icon == "") {
    $icon = macrodir + "\\hidebiff.exe,0";
   }
   if ($module == "") {
    $module = macrodir + "\\hidebiff.tnm";
   }
   if ($timeout == "") {
    $timeout = "5";
   }
   $path = "\"" + getinistr(macrodir + "\\hidebiff.ini", "Settings", "ToastN
otify") + "\"";
   $path = $path + " /i \"" + $icon + "\"";
   $path = $path + " /m \"" + $module + "\"";
   $path = $path + " /o " + $timeout;
   $path = $path + " /t \"" + str(#count) + "件 受信しました。\"";
   $path = $path + " /c \"秀丸メール本体で受信したメールを確認してください。
\"";
   $path = $path + " /p \"" + $mailPath + "\"";
   $path = $path + " /pa \"/x" + macrodir + "\\hidebiff.mac\"";
   if ($effect != "") {
    $path = $path + " /e " + $effect;
   }
   if ($position != "") {
    $path = $path + " /ps " + $position;
   }
   if ($visibirity != "") {
    $path = $path + " /v " + $visibirity;
   }
   if ($alarm != "") {
    $path = $path + " /a \"" + $alarm + "\"";
   }
  }
  run $path;
 }
} else if (#reason == 6) {
 #n = dllfunc("GetTransmitCommandCode");
 if (#n == 40003 ||
   #n == 40216 ||
   #n == 40024 ||
   #n == 40143 ||
   #n == 40074 ||
   #n == 40209 ||
   #n == 1) {
  #i = 0;
  while (true) {
   $account = dllfuncstr("Account", #i);
   if ($account == "") {
    break;
   }
   #n = dllfunc("LoadAccountProp", $account);
   #n = dllfunc("SetAccountProp", "fRecvLog", 1);
   #n = dllfunc("SaveAccountProp");
   #i = #i + 1;
  }
  openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
  writeregnum "FilterLog", 2;
  closereg;
  #n = dllfunc("EnvChanged");
  $path = macrodir + "\\hidebiff.exe -i";
  run $path;
 }
} else if (#reason == 2) {
 #filterLogSave = getininum(macrodir + "\\hidebiff.ini", "Settings", "Filter
LogSave");
 if (#filterLogSave != 1) {
  $path = macrodir + "\\hidebiff.exe -d";
  run $path;
 }
}

[ ]
RE:43926 【質問】マクロが作動しません。No.43928
秀まるお2 さん 13/01/10 15:51
 
 たぶんですが、マクロ用フォルダにある「hidebiff.ini」の中の、[Settings]
の下付近にある

    LimitCount=10

 とかの値を「0」に書き換えれば出てくるんじゃないかと思います。

 そこの値が例えば10になっていると、10通以上受信するまで通知が出なく
て、それで「あれ、何も通知が出ない」となってしまってたような気がします。

 それでもうまくいかない場合は…、hidebiffさんとは別に、Rokaさん作の「新
着メールポップアップマクロ」てマクロもあるので、そっちを使わせてもらう作
戦はどうでしょうか。

    http://hide.maruo.co.jp/lib/tkmacro/notifynewmail.html

 こちらもToastNotifyを使うマクロになります。

 他は…。とりあえずマクロの途中にmessage文を入れまくって、たしかにマク
ロが動いてるかどうか確認する作戦はあるかなぁと思います。

} else if (#reason == 3) {
    message "受信が一段落した時です";l
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    writeregnum "FilterLog", 0;
    closereg;
    #n = dllfunc("EnvChanged");
    #count = dllfunc("RecvMailCountShow");
 message "RecvMailCountShowの値は" + str(#count) + "です。";
    if (#count > 0) {
        message "#count > 0なのでhidebiff起動します。";
        ....

 とかやって調べるとか…。そこまでするのはかなり大変かと思います。

[ ]
RE:43928 【質問】マクロが作動しません。No.43929
どら焼き さん 13/01/10 17:13
 
秀まるお様、ご回答ありがとうございます。

秀まるお様ご教示の通り、LimitCountを「0」に書き換えれば出てきました。

ただ、Youtubeで紹介されてる動画のような挙動はしませんでした。

 ●Youtubeのように、メール1件ごとの情報は通知せず、
  「○件 受信しました。秀丸メール本体で受信したメールを確認してください」
  という通知が出たのみでした。

 ●また動画では、通知自体をクリックすると秀丸メール本体でそのメールを
  選択しますが、私のところでは
  「ファイルが見つかりません、ファイル名=(マクロが存在するフォルダ名)」
  というメッセージでエラーになります。


補足として

 ・LimitCountを「1」にすると作動しませんでした。

 ・マクロの動作として、『「設定」⇒「全般的な設定」⇒
 「上級者向け」⇒「動作の記録」にある「振り分け結果をfilterlog.txtファイルに
 記録する」を「(詳細に)」を含めてチェックを付けます』、
 となっていますが、そこを確認してもチェックされていません。
 自分でチェックしても、マクロを作動させた後、確認すると、
 チェックが消えています。

以上で、何か思い当たることがありますでしょうか。
素人のため、秀まるお様にほとんど丸投げで申し訳ありませんが、
お時間ある時にご確認いただければ、幸いです。


> たぶんですが、マクロ用フォルダにある「hidebiff.ini」の中の、[Settings]
>の下付近にある
>
>    LimitCount=10
>
> とかの値を「0」に書き換えれば出てくるんじゃないかと思います。
>
> そこの値が例えば10になっていると、10通以上受信するまで通知が出なく
>て、それで「あれ、何も通知が出ない」となってしまってたような気がします。

[ ]
RE:43929 【質問】マクロが作動しません。No.43932
Iranoan さん 13/01/10 17:40
 
 どら焼きさん今日は、Iranoan です。
> 以上で、何か思い当たることがありますでしょうか。
> 素人のため、秀まるお様にほとんど丸投げで申し訳ありませんが、
> お時間ある時にご確認いただければ、幸いです。
 素朴な疑問として、なぜマクロ作者に問い合わせないのでしょう?
 ドキュメント記載のアドレスでは連絡が取れなくなっている???

[ ]
RE:43929 【質問】マクロが作動しません。No.43933
秀まるお2 さん 13/01/10 18:04
 
 僕の所でも、

>   「○件 受信しました。秀丸メール本体で受信したメールを確認してください」
>   という通知が出たのみでした。

 が出るだけで、それ以外の物が出てくるのは見たことが無いです。

 なのでそういう物かと思ってました。

 よく考えてみたら、LimitCount以上の場合はその「本体で確認」が出て、未満
の場合は1通ずつのメッセージが出てくれないとダメな仕様のような気がします。

 ですが、僕の所でも、1通ずつのメッセージは出ないです。

 1通ずつ出す処理は、

        $path = macrodir + "\\hidebiff.exe -r " + str(#count);
        run $path;

 のような処理になっていて、hidebiff.exeさんに丸投げしてるようです。とい
うことは、ここから先の処理についてはhidebiff.exeの作者さんじゃないと調べ
ようが無い気がします。

 やはり作者さんに聞いてもらうしか無いんじゃないかと思います。

[ ]
RE:43933 【質問】マクロが作動しません。No.43936
どら焼き さん 13/01/11 09:40
 
Iranoan様、秀まるお様

ご回答、ご教示、ありがとうございます。

お二人のおっしゃる通り、作者さんに聞くべきでした
(マクロライブラリのページに作者名しか無いため、
 なぜか、連絡できないと勘違いしておりました)。

本マクロの説明書ファイルに、作者さんのアドレスありましたので、
今後はそちらに問い合わせいたします。

お忙しい中、お手数をおかけして申し訳ありません。
また、ご対応下さり、ありがとうございました。


> やはり作者さんに聞いてもらうしか無いんじゃないかと思います。

[ ]