#721 | ファイル名に使えない文字を強制的に除去する | VBA | |
「#557 ファイル名に使えない文字が含まれていないかチェックする」のアレンジ版です。引数に指定したファイル名の中に使えない文字があった場合には、それを除去した値を返すサンプルプロシージャです。 前者はチェック結果がNGの場合に処理を中断する判断に使えますが、今回のものは中断せずに強制的にそれを除去したファイル名で処理を続行したいようなケースで使えると思います。 Public Function RemoveFileNameChar(strFileName As String) As String Dim avarExcept As Variant Dim strRet As String Dim iintLoop As Integer '使用不可の文字を配列に代入 avarExcept = Array("\", "/", ":", "*", "?", """", "<", ">", "|") '配列の文字をひとつずつ置換するループ strRet = strFileName For iintLoop = 0 To UBound(avarExcept) '使えない文字を強制的に””に置換することで除去 strRet = Replace(strRet, avarExcept(iintLoop), "", , , vbBinaryCompare) Next iintLoop '置換後の文字列を返す RemoveFileNameChar = strRet End Function 応用: もし、使えない文字を取り除くのではなく別の文字に置き換えたい場合には、Replace関数の部分を次のようにします(「●」という1文字に置き換える場合)。 strRet = Replace(strRet, avarExcept(iintLoop), "●", , , vbBinaryCompare) |
|||
|
Copyright © T'sWare All rights reserved |