我有一个 Excel VBA 宏,它基于 Excel 文件创建文件夹树。
我当前的问题是,每次绝对目录变得很长时,我似乎都会遇到错误。
程序将抛出运行时错误 76(找不到路径)。我有一种感觉,这是因为脚本引用了超过 256 个字符的绝对路径。
有什么解决方法吗?或者是我唯一的选择来缩短文件夹名称,从而缩短绝对路径字符串?
编辑
我正在使用的代码如下:
Dim asheet As Range, r As Range, c As Range
Dim fPath As String, tmp As String
Set asheet = ActiveSheet.UsedRange
For Each r In asheet.Rows
fPath = DEST_FOLDER
For Each c In r.Cells
tmp = Trim(c.Value)
If Len(tmp) = 0 Then
Exit For
Else
tmp = Clean(tmp)
fPath = fPath & tmp & "\"
If Len(Dir(fPath, vbDirectory)) = 0 Then MkDir fPath
End If
Next c
Next r
Clean() 是一个自定义函数,它将简单地从字符串中删除特殊字符,即!、#、_、@、$、&、*、^ 和 %。
是否有另一种方法可以用来创建这些文件夹,这些文件夹可能会使用相对路径而不是绝对路径?