ファイル名に使用できない文字を置き換える

System.IO.Pathクラスには、ファイル名に使用できない文字を取得する関数が用意されています。   戻り値は、Char型の配列に使用できない文字が格納されます。

次の例は、文字列中にあるファイル名に使用できない文字を置き換える関数です。

Public Sub ReplaceInvalidFileChar(ByVal strOrg As String, ByRef strDest As String, Optional ByVal chrReplace As Char = "_"c)
    Dim arrInvalidFileChars As Char() = System.IO.Path.GetInvalidFileNameChars()

    For Each chrInvalidChar As Char In arrInvalidFileChars
        strOrg = strOrg.Replace(chrInvalidChar, chrReplace)
    Next
    strDest = strOrg
End Sub