1

在专家最亲切的帮助下,我能够实现我的目标 1) 根据第 3 列中的条目自动创建文件夹结构;和 2) 在相应的列中自动创建超链接

代码可以在下面找到

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(3)) Is Nothing Then
    Dim tr As String
    With Target
        tr = ThisWorkbook.Path & "\" & .Offset(, -2).Value
        If Len(Dir(tr)) = 0 Then
            MkDir tr
            MkDir tr & "\Subfolder 1"
            MkDir tr & "\Subfolder 2"
            MkDir tr & "\Subfolder 3" & "\Sub-subfolder 1"
            .Hyperlinks.Add .Offset(, 4), tr, TextToDisplay:="Name"
        End If
    End With
End If

End Sub

我一直试图让它在 Mac 上工作,但我总是得到错误 68,然后调试器在线打开

If Len(Dir(tr)) = 0 Then

我尝试\在下面的行中更改内引号

tr = ThisWorkbook.Path & "\" & .Offset(, -2).Value

  • 使用:
  • 使用\
  • 使用" "(基本上是空白空间)
  • 我试图改变"(denominator)"-application.pathseparator仍然没有。

绝对没有。

用户友好地建议了这个网页http://www.rondebruin.nl/mac.htm#Directory (请参阅当它不存在时制作一个导演部分)这可能确实有效 - 我看到的问题是它不似乎检查一个文件夹是否已经存在,而且我不太清楚如何创建子文件夹。

但出于某些(固执/愚蠢?)的原因,我相信这一定会奏效,而且我的生活过于复杂。

有什么想法吗?

卢克

4

1 回答 1

1

在 Mac 上,您应该使用正斜杠 /。

由于您真的不知道您是在 PC 上还是 Mac 上,我建议使用文件系统对象而不是您提到的 shell 调用,因为这样做您还需要知道您是在调用 Windows 命令行还是mac bash 脚本。他们不一样。:)

此处对其进行了描述:http ://www.tek-tips.com/faqs.cfm?fid=4116

于 2012-07-31T12:05:21.957 回答