ValidateForFileName関数(TKInfo.dll)(Ver6.80対応版)
 ValidateForFileName関数は、パラメータに含まれる文字列の中にファイル名として使えない文字があれば、それを「_」(アンダースコア)に変換します。半角空白も「_」に変換します。例えばメールのSubject:ヘッダの内容からファイル名を生成したい時などに便利です。
パラメータ1(文字列型)
 変換元の文字列を指定します。


返り値(文字列型)
 変換された結果文字列を返します。実際にファイル名として使うためには、さらにleft関数を使うなどして長さ制限を超えないようにする工夫も必要になります。


例(C:\tempフォルダ配下にSubjectヘッダと同じ名前のフォルダを生成する例)
loaddll "tkinfo.dll";
$subject = dllfuncstr("CurrentHeader", "Subject");
$subject = dllfuncstr("ValidateForFileName", $subject);     //不正な文字の変換
$subject = leftstr( $subject, 100 );                        //長さ制限
$folder = "C:\\temp\\" + $subject;
if( !existfile( $folder ) ) {
    #n = dllfunc("Bypass_CreateDirectory", $folder);
    if( #n == 0 ) {
        #error = dllfunc("Bypass_GetLastError");
        message "CreateDirectoryでエラー、エラーコード=" + str(#error);
        endmacro;
    }
}

戻る