哪位朋友知道用VBA代码如何能实现判断文件名是否合法(不包括非法字符)?
您可以使用 VBA 的 InStr 函数来判断文件名是否包含不合法的字符。例如,假设您的文件名保存在一个变量 fileName 中,那么您可以使用下面的代码来判断文件名是否合法:
Dim invalidChars As String: invalidChars = "/\:*?""<>|"
Dim isValid As Boolean: isValid = True
For i = 1 To Len(invalidChars)
If InStr(fileName, Mid(invalidChars, i, 1)) > 0 Then
isValid = False
Exit For
End If
Next
If isValid Then
' 文件名合法
Else
' 文件名不合法
End If
在这段代码中,我们定义了一个变量 invalidChars,它包含所有不合法的文件名字符。然后我们遍历这些字符,并使用 InStr 函数来检查文件名中是否包含这些字符。如果检查发现文件名中有不合法字符,就将变量 isValid 设为 False,并退出循环。最后,我们判断 isValid 的值来决定文件名是否合法。
你这里非法字符的定义是啥?能存在在硬盘中的文件名已经是合法字符的。
win下不允许文件名中包含*、?、/、\、"、<、>、:、| 这些字符。
要检测可以用string的instr函数
s = "sdfgfdgsd/fg.txt"
i = InStr(s, "/")
结果i为10,如果找不到则i=0。
非法字符放到数组里,挨个查找,没有就是合法的。