GetTemplateReference, SetTemplateReference関数(TKInfo.dll)(Ver7.22対応版)
 GetTemplateReference関数は、アカウント毎またはフォルダ毎の設定で、参照指定されたテンプレート/署名の名前を返します。

 SetTemplateReference関数は、アカウント毎またはフォルダ毎の設定での、参照指定する先のテンプレート/署名の指定を書き換えます。
パラメータ1(文字列型)
 対象アカウントを指定します。""を指定すると、現在のアカウントという意味になります。


パラメータ2(文字列型)
 アカウント毎の設定を対象とする場合はここに""を指定します。
 フォルダ毎の設定を対象とする場合は、ここにフォルダ名を指定します。例えば「受信\テスト」のような文字列を指定します。指定方法は、SelectFolder関数などと同じです。


パラメータ3(数値型)
 テンプレートまたは署名の種類を指定します。以下の値が指定できます。
0 「新規メール」用のテンプレート
1 「返信メール」用のテンプレート
2 「転送メール」用のテンプレート
3 署名


パラメータ4(文字列型)、SetTemplateReference関数のみ
 テンプレート/署名の名前です。「設定・テンプレート/署名の編集...」で作成した名前を指定するか、または参照指定を解除して個別指定を有効にするための、""という文字列が指定できます。


返り値
 GetTemplateReference関数の返り値は文字列型で、参照指定されているテンプレート/署名の名前を返します。アカウント毎の設定またはフォルダ毎の設定でテンプレート/署名が参照指定されてない場合(個別指定されてる場合および、 そもそもフォルダ毎の設定でテンプレート/署名が指定されてない場合)は、""を返します。

 SetTemplateReference関数の返り値は数値型で、成功すると1、失敗すると0を返します。失敗する場合には、ほとんどの場合、何らかのエラーメッセージも表示します。


備考、制限事項
 SetTemplateReference関数でフォルダ毎の設定を書き換える場合、元々のフォルダ設定が「参照指定」になってないと、SetTemplateReference関数の動作は意味がなくなってしまいます。事実上、フォルダ毎の設定を書き換えるのには使い物になりません。 アカウント毎の設定を書き換える用のみに使ってください。


例(現在のエディタに適用されているテンプレートをアカウント毎の設定に指定する例)
// AutoTemplateChange.mac--------------------------------------
    loaddll "tkinfo.dll";
    #type = dllfunc("MailType");
    if( #type < 0 || #type > 2 ) {
        // 新規メール、返信メール、転送メール の場合のみ。
        endmacro;
    }
    $s = dllfuncstr("CurrentTemplateName");
    if( leftstr( $s, 1 ) == "\\" ) {
        // アカウント毎/フォルダ毎のテンプレート指定の場合は何もしない
        endmacro;
    }
    #n = dllfunc("SetTemplateReference", dllfuncstr("CurrentAccount"), "", #type, $s );