プロが教えるわが家の防犯対策術!

マクロについて教えてください
作業中のフォルダを
ThisWorkbook.Path
と表示しますが
例えば
一番初めのフォルダがあり(名前は任意)
次にその中にいくつかのサブフォルダがあるとします(名前は任意)作業中のフォルダ以外のフォルダをコードでは
何と表示するかを教えてください
よろしくお願いします

質問者からの補足コメント

  • 回答ありがとうございます
    説明不足で申し訳ありません 
    例えば
    先ず最近に 北海太郎の名前のフォルダがあります
    その中に
    審査 検査 前審査 のフォルダがあり
    マクロファイルがあるフォルダは
    審査です
    マクロ
    Sub フォルダ削除()
    On Error Resume Next
    Dim FSO As Object Dim Adr As String
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Adr = ThisWorkbook.Path
    FSO.DeleteFolder Adr & "\前審査"
    End Sub
    があります

      補足日時:2023/07/02 16:24
  • このマクロを実行する為には
    サブフォルダの審査の中にマクロファイルがあり、又、同じく審査フォルダの中に前審査フォルダが無ければ前審査フォルダを削除できません
    審査フォルダ内にマクロファイルがあり
    前審査フォルダは審査フォルダに無くて
    サブフォルダ内にある場合にマクロが実行されて前審査フォルダを削除したいのですが
    可能でしょうか?
    よろしくお願いします

      補足日時:2023/07/02 16:24
  • 回答ありがとうございます
    色々と教えて頂きありがとうございます
    申し訳ありません
    私が設定しているコードをどのように変更すれば良いかが分かりません
    詳しくコードを教えていただけますか?
    よろしくお願いします

      補足日時:2023/07/02 16:44

A 回答 (6件)

同じ親フォルダ内の違うフォルダを削除したいと言う事なら



Adr = FSO.GetParentFolderName(ThisWorkbook.Path)
FSO.DeleteFolder Adr & "\前審査"
    • good
    • 0

No4です。


No5のかたの方法が、シンプルで良いですね。
No5のかたのを採用してください。
    • good
    • 0

以下のようにしてください。


Sub フォルダ削除()
On Error Resume Next
Dim FSO As Object
Dim Adr As String
Dim pos As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Adr = ThisWorkbook.Path
pos = InStrRev(Adr, "\")
Adr = Left(Adr, pos)
Adr = Adr & "前審査"
FSO.DeleteFolder Adr
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます
早速試してみます
後ほどご連絡させていただきます

お礼日時:2023/07/02 17:29

No2です。



>前審査フォルダは審査フォルダに無くて
>サブフォルダ内にある場合に~~~
>可能でしょうか?
対象ファイルの所在が不確定なら、事前に対象ファイルを探す必要があります。

FileSystemObject をご利用なら、FileExists メソッドでファイルの有無を調べられますので、サブフォルダも含めて調べれば良いでしょう。
https://learn.microsoft.com/ja-jp/office/vba/lan …
    • good
    • 0

こんにちは



>作業中のフォルダ以外のフォルダをコードでは
>何と表示するかを教えてください
それに該当するフィルダは無数に存在しうるので、その様なものを意味するコードはありません。
Sheet1以外のシートを直接的に表すコードがないのと同様です。

強いて言うなら、
 (フォルダパス <> ThisWorkbook.Path)
に相当する、全てのフォルダが該当します。


※ なお、「作業中のフォルダ」と言う言葉をどういう意味でお使いなのか不明ですが、通常は、例えば Dir関数のデフォルトフォルダ等を意味するのではないかと思いますけれど・・
「ThisWorkbook.Path」は、あくまでも ThisWorkbook.Path にすぎません。
    • good
    • 0

「ThisWorkbook.Path」は、マクロがあるExcelファイルのパスですが、


そこを「一番初めのフォルダ」して使いたいのですか?
それとも、他のフォルダを「一番初めのフォルダ」としたいですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!