|
すみません。サンプルマクロがスペルミスしてました。
> $sign = dllfuncstr("CurrrentSignName");
CurrrentSignNameじゃなくて、CurrentSignNameでした。そこだけ直せば大丈
夫なはずです。
他に、電子署名を選択するのをマクロで作ってしまう作戦もありかと思います。
せっかくなので作ってみました。
----------電子署名を選択するマクロの例---------------------
loaddll "tkinfo.dll";
#i = 0;
while(1) {
$sign[#i] = dllfuncstr("GetTemplateName", "sign", #i);
if( $sign[#i] == "" ) {
break;
}
#i = #i + 1;
}
#signcount = #i;
$account = dllfuncstr("CurrentAccount");
if( $account == "アカウントA" ) {
call DeleteSign "\t(え)\t(お)\t";
// \tで区切って指定。先頭と最後にも\tが必要。
} else if( $account == "アカウントB" ) {
call DeleteSign "\t(あ)\t(い)\t";
// \tで区切って指定。先頭と最後にも\tが必要。
}
if( #signcount == 0 ) {
message "署名がありません。";
endmacro;
}
menuarray $sign, #signcount;
#result = result;
if( #result >= 1 ) {
#n = dllfunc("SwitchSign", $sign[#result-1]);
}
endmacro;
DeleteSign:
message $$1;
##i = 0;
##dest = 0;
while(##i < #signcount) {
message "\t" + $sign[##i] + "\t";
if( strstr( $$1, "\t" + $sign[##i] + "\t" ) < 0 ) {
$sign[##dest] = $sign[##i];
##dest = ##dest + 1;
}
##i = ##i + 1;
}
#signcount = ##dest;
return;
|
|