VBATips

ファイル名に使えない文字を取り除く処理をパーツ化する【ExcelVBA】

ユーザーにファイル名を入力させるなど、ユーザーライクなコードを作る場合があります。
その際に、面倒なのは禁則文字を入力された場合です。
禁則文字が入力された場合は、強制的にReplace関数で置換してしまいます。

ファイル名に使えない文字を取り除く処理のコード

'■ファイル名に使えない文字を除去して、正しいファイル名で返す
Public Function Call_FileNameNGReplace(sFileName As String) As String
    Dim tmp As String
    
    tmp = sFileName
    tmp = Replace(tmp, "\", "")
    tmp = Replace(tmp, "/", "")
    tmp = Replace(tmp, ":", "")
    tmp = Replace(tmp, "*", "")
    tmp = Replace(tmp, "?", "")
    tmp = Replace(tmp, """", "")
    tmp = Replace(tmp, "<", "")
    tmp = Replace(tmp, ">", "")
    tmp = Replace(tmp, "|", "")
    tmp = Replace(tmp, "[", "")
    tmp = Replace(tmp, "]", "")

    Call_FileNameNGReplace = tmp
End Function

実際の使い方

Public Sub sample()
    str = Call_FileNameNGReplace("FILE<01>.xlsx")
    FILE<01>.xlsx→FILE01.xlsx
End Sub

 

関連記事

コメント

タイトルとURLをコピーしました