Excelファイルに基づいてフォルダツリーを作成するExcelVBAマクロがあります。
私の現在の問題は、絶対ディレクトリが非常に長くなるたびにエラーが発生するように見えることです。
プログラムは実行時エラー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()は、文字列から特殊文字、つまり!、#、_、@、$、&、*、^、および%を削除するだけの自己定義関数です。
絶対パスではなく相対パスを使用する可能性のあるこれらのフォルダーを作成するために使用できる別の方法はありますか?