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 のどちらを使用しているかよくわからないため、言及したシェル呼び出しの代わりにファイルシステム オブジェクトを使用することをお勧めします。これを行うと、Windows コマンド ラインを呼び出しているのか、マックバッシュスクリプト. それらは同じではありません。: )

ここで説明されています:http://www.tek-tips.com/faqs.cfm?fid=4116

于 2012-07-31T12:05:21.957 に答える