VBATips

ファイル名に使えない禁則文字が入力されているかどうかチェックする【ExcelVBA】

ユーザーにファイル名を入力させるなど、ユーザーライクなコードを作る場合があります。
その際に、面倒なのは禁則文字を入力された場合です。
禁則文字が入力されているかどうかチェックする場合に使用します。

禁則文字が入力されているかどうかチェックするコード

'■ファイル名に使えない文字が存在するかどうか確認する
Public Function Call_FileNameNGCheck(sFileName As String) As Boolean    
    Call_FileNameNGCheck = True
    
    If InStr(sFileName , "\") > 0 Then Exit Function
    If InStr(sFileName , "/") > 0 Then Exit Function
    If InStr(sFileName , ":") > 0 Then Exit Function
    If InStr(sFileName , "*") > 0 Then Exit Function
    If InStr(sFileName , "?") > 0 Then Exit Function
    If InStr(sFileName , """") > 0 Then Exit Function
    If InStr(sFileName , "<") > 0 Then Exit Function
    If InStr(sFileName , ">") > 0 Then Exit Function
    If InStr(sFileName , "|") > 0 Then Exit Function
    If InStr(sFileName , "[") > 0 Then Exit Function
    If InStr(sFileName , "]") > 0 Then Exit Function

    Call_FileNameNGCheck = False
    
End Function

実際の使い方

Public Sub sample()
    debug.print  Call_FileNameNGCheck("FILE<01>.xlsx") →True
    debug.print  Call_FileNameNGCheck("FILE01.xlsx") →False
End Sub

 

関連記事

コメント

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