이 페이지에서
구문
= ValidFileName ( FileName )
인수구분
형식 설명
FileName
필수
String
사용가능여부를 확인할 파일이름입니다.
폴더명을 포함한 전체경로를 입력할 경우, 마지막 역슬래시 뒤의 파일명만 분리하여 확인합니다.
마스터 코드
복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요Function ValidFileName(ByVal FileName As String) As Boolean
'############################################################
'파일이름을 윈도우에서 사용할 수 있는지 여부를 판단합니다.
'https://www.oppadu.com/vba-validfilename-함수/
'############################################################
Dim Arr As Variant: Dim Val As Variant
Dim Pnt As Long
Arr = Array("/", "\", ":", "*", "?", """", "<", ">", "|")
If InStr(1, FileName, ":\") > 0 Then
Pnt = InStrRev(FileName, "\")
FileName = Right(FileName, Len(FileName) - Pnt)
Debug.Print FileName
End If
ValidFileName = True
For Each Val In Arr
If InStr(1, FileName, Val) > 0 Then ValidFileName = False: Exit Function
Next
End Function
Sub 파일이름체크()
If ValidFileName(Sheet1.Range("F2").Value) = True Then
MsgBox "사용가능한 파일이름입니다."
Else
MsgBox "사용 불가한 파일이름입니다.", vbCritical
End If
End Sub
활용 예제
파일 이름에 쓸 수 없는 기호가 있는지 확인
= ValidFileName ( "2026년 3월 매출:정리.xlsx" )
'// 콜론(:)이 포함되어 FALSE 를 반환합니다.
셀에 입력한 이름으로 저장하기 전 검사
Sub 입력한_이름으로_저장()
Dim strName As String
strName = Range("B2").Value & ".xlsx"
If ValidFileName(strName) = False Then
MsgBox "파일 이름에 사용할 수 없는 기호가 포함되어 있습니다.", vbCritical
Exit Sub
End If
ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & strName
End Sub
안내사항
윈도우에서 파일 이름에 사용할 수 없는 9개 기호의 포함 여부만 확인합니다.
해당 경로에 파일이 실제로 존재하는지 확인하려면 FileExists 함수를 함께 사용합니다.
댓글 1
로그인 후 댓글을 작성할 수 있습니다.
강민준🤗
2024.08.11 13:09
좋은 자료 감사합니다.🙇♂️