|
水衣さん,こんばんは。
》これを使うと、場合によって""マークで囲まれてしまって、
》本文中に使うときに少し不便です。
》今までのものに追加して、""で囲まれないようになっているものも用意してもら
》えるとありがたいです。
実装されればそれに超したことはないでしょうが,さしあたり次のようなマク
ロでもやれます。じつは先日,この会議室で勘違いしてアップしたのですが
(#8972),今回はお役に立てるのではと思います。前回のものを少し修正しま
した。
テンプレートに
$(ExecMacro,"TKSetName.mac")
$(QuotedSelectedRootText2)
と書いて次のマクロをマクロフォルダに置きます。
//----- TKSetName.mac -------------------------------------------//
//アドレス帳から宛先人名を補完
$kugiri = "さん,\n"; //好みに合わせて設定
#len = 4;//名前の長さの初期値(半角で計算),圧縮しない場合は 999
//姓だけにする場合などに圧縮する
if( imestate ) {imeswitch; #switch = 1;}
#len = val( input( "名前の長さ", str(#len) ) );
if( #switch ) imeswitch;
//長さを固定する場合は,この3行を無効にする(行頭に「//」を付加)
loaddll "TKinfo.dll";
$toall = dllfuncstr( "CurrentHeader", "To" );
while( 1 ) {
#a = strstr( $toall, "," );
if( #a < 0 ) {
$to = $toall;
call MakeName;
break;
}
$to = leftstr( $toall, #a );
$toall = midstr( $toall, #a + 1, strlen( $toall )- #a );
call MakeName;
}
insert $allname;
endmacro;
MakeName:
$name = dllfuncstr( "FindBook", $to );
if( $name == "" ) $name = dllfuncstr( "SetNameOnly", $to );
if( leftstr( $name, 1 ) == "\"" )
$name = midstr( $name, 1, strlen( $name )- 2 );
if( strlen( $name ) > #len ) $name = leftstr( $name, #len );
$allname = $allname + $name + $kugiri;
return;
//------------------------------------------------------------//
では, (^^)/~
山紫水明
|
|