秀丸メールマクロヘルプ19
コマンド一覧
GetTemplateName関数は、「設定・テンプレート/署名の編集」で登録されたテンプレート/署名の名前を取得します。取得した名前はLoadTemplate関数やSwitchTemplate/SwitchSign関数で使います。
取得するテンプレートの種類または署名かを指定します。以下の文字列が指定できます。
取得したいテンプレート/署名の番号を指定します。一番先頭に登録されている物が0番、次が1番…となります。
テンプレート/署名の名前です。指定された番号のテンプレート/署名が無い場合は""を返します。
LoadTemplate関数は、「設定・テンプレート/署名の編集」で登録されたテンプレート/署名の内容を取得します。
取得するテンプレートの種類または署名かを指定します。以下の文字列が指定できます。
取得したいテンプレート/署名の名前を指定します。
テンプレート/署名の内容を返します。存在しないテンプレート/署名が指定された場合は""を返します。
GetTemplateAssociatedSign関数は、パラメータで指定されたテンプレートの「連動させる署名」を取得します。
取得するテンプレートの種類を指定します。以下の文字列が指定できます。
取得したいテンプレートの名前を指定します。
パラメータで指定されたテンプレートの「連動させる署名」を返します。連動させる署名が何も指定されてない場合は""を返します。存在しないテンプレート/署名が指定された場合はエラーメッセージを表示してから""を返します。
SwitchTemplate関数は、現在編集中のメールのテンプレートを切り替えます。SwitchSignは同様に署名を切り替えます。
切り替えたいテンプレート/署名の名前を指定します。現在のメールが「新規メール」の場合は新規メール用のテンプレートしか指定できず、同様に、返信メール、転送メールなどの種類によって指定できるテンプレートが限定されます。
「署名なし」に切り替えたい場合は、SwitchSign関数でのパラメータ1に""を指定してください。
テンプレート/署名の切り替えに成功した場合は1、失敗した場合は0を返します。
SwitchTemplateで指定したテンプレートに「連動させる署名」が指定されていた場合には、署名もいっしょに切り替わります。
CurrentTemplateName関数は、現在のエディタに適用されたテンプレートの名前を返します。同様に、CurrentSignName関数は、現在のエディタに適用された署名の名前を返します。
これらの関数は、「新規メール」、「返信メール」などのコマンドでエディタが起動した時にのみ有効です。他のメールエディタ上や秀丸メール本体上で実行しても、何も返しません。
パラメータはありません。
「全般的な設定・テンプレート/署名の編集...」で作成されたテンプレート/署名が適用されている場合は、その名前を返します。
アカウント毎の設定でテンプレート/署名が「個別指定」となっていて、その個別指定された物が適用されている場合には、「\アカウント名」のような文字列を返します。例えばアカウント名が「テストアカウント」だったとすると、
\テストアカウント
という文字列を返します。
フォルダ毎の設定でテンプレート/署名が「個別指定」となってるか、またはフォルダ毎の設定で「上位フォルダの設定を引き継ぐ」となっていて、結果として何らかのフォルダ毎の個別指定が適用された場合には、その最終的に適用された個別指定フォルダの名前を返します。その形式は、「\アカウント名\フォルダ名」のような形となります。
例えば、「テストアカウント」というアカウントの、受信フォルダ配下の「テストフォルダ」というフォルダで個別指定されたテンプレートが適用された場合には、
\テストアカウント\受信\テストフォルダ
という文字列を返します。アカウント直下に作成したフォルダの場合には、
\テストアカウント\User\テストフォルダ
のように、内部的なフォルダのパス名を返します。
GetTemplateReferenceの例を参照のこと
GetTemplateReference関数は、アカウント毎またはフォルダ毎の設定で、参照指定されたテンプレート/署名の名前を返します。
SetTemplateReference関数は、アカウント毎またはフォルダ毎の設定での、参照指定する先のテンプレート/署名の指定を書き換えます。
対象アカウントを指定します。""を指定すると、現在のアカウントという意味になります。
アカウント毎の設定を対象とする場合はここに""を指定します。
フォルダ毎の設定を対象とする場合は、ここにフォルダ名を指定します。例えば「受信\テスト」のような文字列を指定します。指定方法は、SelectFolder関数などと同じです。
テンプレートまたは署名の種類を指定します。以下の値が指定できます。
0 ... 「新規メール」用のテンプレート
1 ... 「返信メール」用のテンプレート
2 ... 「転送メール」用のテンプレート
3 ... 署名
テンプレート/署名の名前です。「設定・テンプレート/署名の編集...」で作成した名前を指定するか、または参照指定を解除して個別指定を有効にするための、""という文字列が指定できます。
GetTemplateReference関数の返り値は文字列型で、参照指定されているテンプレート/署名の名前を返します。アカウント毎の設定またはフォルダ毎の設定でテンプレート/署名が参照指定されてない場合(個別指定されてる場合および、そもそもフォルダ毎の設定でテンプレート/署名が指定されてない場合)は、""を返します。
SetTemplateReference関数の返り値は数値型で、成功すると1、失敗すると0を返します。失敗する場合には、ほとんどの場合、何らかのエラーメッセージも表示します。
SetTemplateReference関数でフォルダ毎の設定を書き換える場合、元々のフォルダ設定が「参照指定」になってないと、SetTemplateReference関数の動作は意味がなくなってしまいます。事実上、フォルダ毎の設定を書き換えるのには使い物になりません。アカウント毎の設定を書き換える用のみに使ってください。
テンプレート/署名関係
- テンプレート/署名関係
GetTemplateName関数(TKInfo.dll)
GetTemplateName関数は、「設定・テンプレート/署名の編集」で登録されたテンプレート/署名の名前を取得します。取得した名前はLoadTemplate関数やSwitchTemplate/SwitchSign関数で使います。
パラメータ1(文字列型)
取得するテンプレートの種類または署名かを指定します。以下の文字列が指定できます。
"newmail" | 新規メール用のテンプレート |
"reply" | 返信メール用のテンプレート |
"forward" | 転送メール用のテンプレート |
"sign" | 署名 |
パラメータ2(数値型)
取得したいテンプレート/署名の番号を指定します。一番先頭に登録されている物が0番、次が1番…となります。
返り値(文字列型)
テンプレート/署名の名前です。指定された番号のテンプレート/署名が無い場合は""を返します。
例
#c = 0; while(1) { $s[#c] = dllfuncstr("GetTemplateName", "newmail", #c); if( $s[#c] == "" ) break; #c = #c + 1; } if( #c != 0 ) menuarray $s, #c;
LoadTemplate関数(TKInfo.dll)
LoadTemplate関数は、「設定・テンプレート/署名の編集」で登録されたテンプレート/署名の内容を取得します。
パラメータ1(文字列型)
取得するテンプレートの種類または署名かを指定します。以下の文字列が指定できます。
"newmail" | 新規メール用のテンプレート |
"reply" | 返信メール用のテンプレート |
"forward" | 転送メール用のテンプレート |
"sign" | 署名 |
パラメータ2(文字列型)
取得したいテンプレート/署名の名前を指定します。
返り値(文字列型)
テンプレート/署名の内容を返します。存在しないテンプレート/署名が指定された場合は""を返します。
例
$s = dllfuncstr("LoadTemplate", "newmail", "テストテンプレート");
GetTemplateAssociatedSign関数(TKInfo.dll)
GetTemplateAssociatedSign関数は、パラメータで指定されたテンプレートの「連動させる署名」を取得します。
パラメータ1(文字列型)
取得するテンプレートの種類を指定します。以下の文字列が指定できます。
"newmail" | 新規メール用のテンプレート |
"reply" | 返信メール用のテンプレート |
"forward" | 転送メール用のテンプレート |
パラメータ2(文字列型)
取得したいテンプレートの名前を指定します。
返り値(文字列型)
パラメータで指定されたテンプレートの「連動させる署名」を返します。連動させる署名が何も指定されてない場合は""を返します。存在しないテンプレート/署名が指定された場合はエラーメッセージを表示してから""を返します。
例
$s = dllfuncstr("GetTemplateAssociatedSign", "newmail", "テストテンプレート");
SwitchTemplate/SwitchSign関数(TKInfo.dll)
SwitchTemplate関数は、現在編集中のメールのテンプレートを切り替えます。SwitchSignは同様に署名を切り替えます。
パラメータ1(文字列型)
切り替えたいテンプレート/署名の名前を指定します。現在のメールが「新規メール」の場合は新規メール用のテンプレートしか指定できず、同様に、返信メール、転送メールなどの種類によって指定できるテンプレートが限定されます。
「署名なし」に切り替えたい場合は、SwitchSign関数でのパラメータ1に""を指定してください。
返り値(数値型)
テンプレート/署名の切り替えに成功した場合は1、失敗した場合は0を返します。
SwitchTemplateで指定したテンプレートに「連動させる署名」が指定されていた場合には、署名もいっしょに切り替わります。
例
#n = dllfunc("SwitchTemplate", "テストテンプレート");
CurrentTemplatName, CurrentSignName関数(TKInfo.dll)
CurrentTemplateName関数は、現在のエディタに適用されたテンプレートの名前を返します。同様に、CurrentSignName関数は、現在のエディタに適用された署名の名前を返します。
これらの関数は、「新規メール」、「返信メール」などのコマンドでエディタが起動した時にのみ有効です。他のメールエディタ上や秀丸メール本体上で実行しても、何も返しません。
パラメータはありません。
返り値(文字列型)
「全般的な設定・テンプレート/署名の編集...」で作成されたテンプレート/署名が適用されている場合は、その名前を返します。
アカウント毎の設定でテンプレート/署名が「個別指定」となっていて、その個別指定された物が適用されている場合には、「\アカウント名」のような文字列を返します。例えばアカウント名が「テストアカウント」だったとすると、
\テストアカウント
という文字列を返します。
フォルダ毎の設定でテンプレート/署名が「個別指定」となってるか、またはフォルダ毎の設定で「上位フォルダの設定を引き継ぐ」となっていて、結果として何らかのフォルダ毎の個別指定が適用された場合には、その最終的に適用された個別指定フォルダの名前を返します。その形式は、「\アカウント名\フォルダ名」のような形となります。
例えば、「テストアカウント」というアカウントの、受信フォルダ配下の「テストフォルダ」というフォルダで個別指定されたテンプレートが適用された場合には、
\テストアカウント\受信\テストフォルダ
という文字列を返します。アカウント直下に作成したフォルダの場合には、
\テストアカウント\User\テストフォルダ
のように、内部的なフォルダのパス名を返します。
例
GetTemplateReferenceの例を参照のこと
GetTemplateReference, SetTemplateReference関数(TKInfo.dll)
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 );
2006年05月22日(月) 11:52:01 Modified by aqualung