|
秀まるお様、対応ありがとうございました。
> MakeGrepFolder
> GetFolderPropFlags
> GetFolderPropFindPack
> GetFolderPropFindFolder
早速利用させてただいたのですが、自分のマクロに作りこむと
なぜか下記事象になります。アドバイスよろしくお願いいたします。
DEBUG1.MACでの事象:
ぱっと見た目は、検索フォルダのようにみえるが実際には通常のフォルダができあが
ってしまいます。
[1]MakeGrepFolderでフォルダは作成される。
[2]作成されたフォルダのアイコンは検索フォルダ。
[3]"フォルダの設定"で情報を参照すると通常のフォルダの情報のようにみえる。
[3]MakeGrepFolderで指定したパラメータ2で設定した検索条件の式が、
"フォルダ設定"-"新規メール時の宛先"になっている。
[4]ほかのフォルダからメールを作成したフォルダに移動すると移動できる。
DEBUG1.MACの前にはメール作成.MACで検索対象のメールを作成してください。
DEBUG2.MACでアカウントを新規に作成しても同じ事象。
ただしマニュアルで新規にアカウントを作成して"受信\Receive\debug"フォルダ
で"メール作成.MAC","DEBUG1.MAC"を実行すると、検索フォルダが正常に
作成されます。
"メール作成.MAC","DEBUG1.MAC"マクロを実行したフォルダ名="受信\Receive\debug"
環境:
OS:WindowsXPHome
秀丸メール Ver5.16Beta31
//----DEBUG1.MAC
loaddll "TKInfo.dll";
$$f = "debug1" ;
##main = dllfunc("MainWnd" );
$$c_f = dllfuncstr("ExecAtMain","CurrentFolder" );
$$sb = "(\"《ABC》.+お知らせ\", regular, nocasesense, target=subject), subf
older=1" ;
$$sf = "\\CurrentAccount," + $$c_f ;
##so = 0x40 ;
//MakeGrepFolder関数(TKInfo.dll)
//V5.16β31以降
//検索フォルダを作成します。
//これらの関数は秀丸メール本体ウィンドウ上でのみ実行できます。
##n = dllfunc("ExecAtMain","MakeGrepFolder",
$$f,//新規作成するフォルダ名
$$sb,//検索条件の式
$$sf,//対象フォルダ
##so //検索フォルダのフォルダ毎設定でのオプション
);
freedll;
endmacro;
//----DEBUG1.MACおわり
//----メール作成.MAC
loaddll "TKInfo.dll";
##main = dllfunc("MainWnd" );
$$c_f = dllfuncstr("ExecAtMain","CurrentFolder" );
//SetInfoItemFolder関数(TkInfo.dll)
//情報アイテムの保存先フォルダを指定します。
##n = dllfunc("ExecAtMain","SetInfoItemFolder","",$$c_f,1);
##i = 0;
while( ##i < 3 ) {
//新規メールの作成
##n = dllfunc("ExecAtMain","NewMail" );
//秀丸のハンドルの取得
##fh = hidemaruhandle( 0 );
//SetHeader関数(TkInfo.dll)
$$s = dllfuncstr("SetHeader", "To", "todo@.item" );
$$s = dllfuncstr("SetHeader", "Subject", "《ABC》" +
str(##i) +
"からのお知らせ" );
save ; //ファイルの上書き保存
setactivehidemaru ##main ;
closehidemaru ##fh ;
//秀丸のハンドルの取得
##i = ##i + 1;
}
//----メール作成.MACおわり
//----DEBUG2.MAC
loaddll "TKInfo.dll";
##n = dllfunc("MakeAccount", "debug");
##n = dllfunc( "SelectFolder", "debug", "受信" );
##n = dllfunc( "MakeFolder", "Receive");
##n = dllfunc( "SelectFolder", "debug", "受信\\Receive" );
##n = dllfunc( "MakeFolder", "debug");
##n = dllfunc( "SelectFolder", "debug", "受信\\Receive\\debug" );
execmacro macrodir + "\\メール作成.mac" ;
execmacro macrodir + "\\DEBUG1.mac" ;
LEND:
freedll;
endmacro;
//----DEBUG2.MACおわり
|
|