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

タイトルの件、下記の2つのマクロを順番に
Callのマクロで動かしたいですが

【佐藤ゴミ箱というフォルダを削除するマクロ】
【佐藤ゴミ箱というフォルダを作成するマクロ】


動きませんでした。個別の2つのマクロは動作
確認できています。

ご存じの方、教えてください。
なお、他のマクロでも、下記の2つのマクロの
内容を実行できるものであればOKです。



【やりたいマクロ】⇒動きませんでした

Sub 連続()

Call フォルダ削除
Call フォルダ作成

End Sub



【佐藤ゴミ箱というフォルダを削除するマクロ】
Sub フォルダ削除()

Dim delDir
delDir = "C:\Users\2020\Desktop\ファイル移動\佐藤ゴミ箱"

If Dir(delDir, vbDirectory) <> "" Then

'フォルダが存在する時、削除
RmDir delDir

End If

End Sub


【佐藤ゴミ箱というフォルダを作成するマクロ】
Sub フォルダ作成()

MkDir "C:\Users\2020\Desktop\ファイル移動\佐藤ゴミ箱"

End Sub

A 回答 (3件)

No.2の回答者です。



RmDirステートメントの使い方の問題なので、フォルダ内にファイルが
ある場合に使えないということだけです。
フォルダ作成するMkDirステートメントは問題ないので、そのまま利用
することができるのですから、あえて前の回答には書きませんでした。
https://excelwork.info/excel/mkdirstatement/

なので連続マクロとフォルダ作成マクロは、そのまま使えます。
フォルダ削除マクロだけを修正すれば済むことです。
    • good
    • 0

佐藤ゴミ箱フォルダにファイルが存在すると、質問のマクロでは


削除のマクロには対応できませんよ。
おそらく、こちら↓のマクロを応用しようとしたのでしょうね。
https://excelwork.info/excel/rmdirstatement/
RmDirステートメントではなく、DeleteFolderメソッドにします。

Sub フォルダ削除()
 Dim myFSO As Object
 Set myFSO = CreateObject("Scripting.FileSystemObject")
 'フォルダを削除
 myFSO.DeleteFolder "C:\Users\2020\Desktop\ファイル移動\佐藤ゴミ箱"
 Set myFSO = Nothing
End Sub
    • good
    • 0
この回答へのお礼

佐藤ゴミ箱というフォルダを削除して、また、同じ場所に佐藤ゴミ箱というフォルダを作成するマクロは出来ないでしょうか。
ご教授頂いたマクロは、中にファイルあっても削除できるのを確認しました。ありがとうございます。

お礼日時:2022/09/21 08:22

> 【やりたいマクロ】⇒動きませんでした



動かないって、つまりどういうこと?

私の環境に合わせてパス書き換えただけで、ご希望の挙動をしているように思うのですが。


Sub 連続()
End Sub

の中にカーソル置いて、「F8」キーを叩きながら、処理がどう進んでいるのか確認する。
・・・なんてことはてみました?
    • good
    • 1

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