|
ぱとさん、こんばんは tibirinです。
> メールアドレス検索を用いた検索に一部書き直してみました。
こんな便利な機能があるのだなぁとびっくりしました。
確かに物凄く高速になりますね。
Message-Id検索の存在にも気が付きましたので自作の他マクロも適時
書き換えようかと思います。
> あとは例えば、該当情報アイテムがそのフォルダに見つからない時には、
> 新規で作成してしまうということにすれば
この機能を追加したマクロを作成してみましたが、注意点としては
(1) SetInfoItemFolder関数は V4.64β19で追加された
関数ですのでそれ以下のバージョンでは旨く動作しないです。
バージョン確認エラーをいれてもいいのですが
個人で使用する限り問題ありませんのであえて入れてないです。
(2) $InformationItemNameで好みの情報アイテム名にする事が出来ます。
(3) マクロでの自動作成は Toに $InformationItemNamedで指定した
情報アイテム名のみを追加しておりますので、お好みで
$s = dllfuncstr("SetHeader", "Subject", "テスト");
$s = dllfuncstr("SetHeader", "X-Priority", "1");
等を追加して下さい。
(4) 草稿フォルダ以下、未送信フォルダ、ゴミ箱フォルダにマクロから
作成する事は出来なくしています。
強制的にコピーしてマクロを動作させる事は出来ますが
本音としてはそこまでして使用しなくてもといいと思うのですが。
(5) > 該当情報アイテムを開いている間だけ、ヘッダー表示をなくして
以下マクロの様に
#n = dllfunc("OpenMail");
#n = dllfunc("SwitchHeaderView", 0);
の順で実行してやれば旨くいくみたいです。
loaddll "tkinfo.dll";
if (!dllfunc("IsHidemaruMailMain")) {
message "秀丸メール本体ウィンドウ上でなければ実行出来ません。";
endmacro;
}
// 初期化
$InformationItemName = "property@.item";
$CurrentFolder = dllfuncstr("CurrentFolder");
if ($CurrentFolder == "") {
message "アカウント直下では実行出来ません。";
endmacro;
}
// InformationItemName検索
#n = dllfunc("SetFindPack","(\"" + $InformationItemName + "\", casesense,
target=person), persontarget=to, subfolder=0, inmail=0");
while (1) {
if (!dllfunc("FindUpInclude")) {
if (!dllfunc("FindDownInclude")) {
// $InformationItemName作成確認
$Message = "このフォルダーには " + $InformationItemName +
" がありません。\n" + "自動的に作成しますか?";
#result = dllfunc("Bypass_MessageBox", hidemaruhandle(0),
$Message, "秀丸メール", 0x1134);
// 6=はい、7=いいえ
if (#result == 6) {
if (leftstr($CurrentFolder, 4) == "草稿" ||
$CurrentFolder == "未送信" ||
$CurrentFolder == "ゴミ箱") {
message "草稿フォルダ以下、未送信フォルダ、" +
"ゴミ箱フォルダには " + $InformationItemName +
" を自動的に作成出来ません。\n" +
"他のフォルダから " + $InformationItemName +
" をコピーして下さい。";
endmacro;
}
// $InformationItemName作成
#n = dllfunc("SetQuietMode", 1);
#MainHandle = hidemaruhandle(0);
#n = dllfunc("NewMail");
$s = dllfuncstr("SetHeader", "To", $InformationItemName);
// 保存時確認メッセージを出さずに保存
#n = dllfunc("SetInfoItemFolder", "", "", 1);
save;
// エディタクローズ
#EditorHandle = hidemaruhandle(0);
setactivehidemaru #MainHandle;
closehidemaru #EditorHandle;
#n = dllfunc("SetQuietMode", 0);
continue
} else {
endmacro;
}
} else break;
} else break;
}
#n = dllfunc("OpenMail");
#n = dllfunc("SwitchHeaderView", 0);
endmacro;
|
|