虽然我可以将Excel-Files重命名为包含方括号的名称(这样可以很好地打开)。我不能在Excel中使用方括号在文件名中保存新创建的文件。
不幸的是,ThisWorkbook.Name
直接将方括号转换为圆括号。有没有办法避免这种情况,或者有一个好办法来找出文件名中是否使用了方括号(这样我就知道发生了转换)?
发布于 2020-04-01 02:58:18
ThisWorkbook.FullName
应该在文件名中仍然有括号。
对于本地保存的文件,您可以在路径分隔符上使用Split
,然后使用InStr
检查最后一个元素中是否有括号。
Dim s
s = Split(ThisWorkbook.FullName, Application.PathSeparator)
fileName = s(UBound(s))
If InStr(fileName, "[") > 0 Or InStr(fileName, "]") > 0 Then
' do whatever
End If
另一种选择(在我看来,更健壮)是使用FileSystemObject.GetFileName
,同时仍然使用InStr
来检查括号的存在。(请确保在工具>引用下添加对Microsoft脚本运行时的引用。)
Dim FSO As Scripting.FileSystemObject
Set FSO = New Scripting.FileSystemObject
Dim fileName As String
fileName = FSO.GetFileName(ThisWorkbook.FullName)
If InStr(fileName, "[") > 0 Or InStr(fileName, "]") > 0 Then
' do whatever
End If
https://stackoverflow.com/questions/60957717
复制相似问题