エクセルのマクロについて教えてください
マクロを実行すると
メッセージボックスが表示されて
okをクリックすると
作業フォルダのダイナログが開いて フォルダ内にあるフォルダやファイルをCtrlキーを押しながらマウスで指定したフォルダやファイルを削除出来る方法を教えて下さい
メッセージボックスのアイコンは赤丸に✖️でメッセージは
回答フォルダ、不要ファイルを削除します。
okをクリックすると
作業フォルダのダイナログが開いて
削除したいフォルダやファイルを指定して 警告文なしで okで削除
その後 次の作業に進みます
メッセージのキャンセルをクリックするとマクロは実行されず
次の作業に進めます
詳しいコードを教えてください
よろしくお願いします
No.3
- 回答日時:
Sub フォルダ削除マクロ()
' メッセージボックスの表示
Dim result As VbMsgBoxResult
result = MsgBox("回答フォルダ、不要ファイルを削除します。続行しますか?", vbCritical + vbYesNo, "作業フォルダ削除")
' キャンセルがクリックされた場合、マクロの実行を終了
If result = vbNo Then Exit Sub
' フォルダダイアログを開いてフォルダを選択
Dim folderPath As String
With Application.fileDialog(msoFileDialogFolderPicker)
.Title = "作業フォルダを選択してください"
.Show
If .selectedItems.Count > 0 Then
folderPath = .selectedItems(1)
Else
Exit Sub
End If
End With
' ファイル選択ダイアログを開いてファイルを選択
Dim fileDialog As fileDialog
Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
' 複数のファイル選択を許可
fileDialog.AllowMultiSelect = True
' ファイル選択ダイアログを表示
If fileDialog.Show = -1 Then
' 選択されたファイルを削除
Dim selectedFile As Variant
For Each selectedFile In fileDialog.selectedItems
On Error Resume Next
VBA.FileSystem.Kill selectedFile
On Error GoTo 0
Next selectedFile
' メッセージボックスの表示
MsgBox "ファイルの削除が完了しました。", vbInformation + vbOKOnly, "作業フォルダ削除"
End If
End Sub
一応動作確認しました。
No.2
- 回答日時:
Sub DeleteFoldersAndFiles()
' メッセージボックスの表示
Dim response As Integer
response = MsgBox("回答フォルダ、不要ファイルを削除します。続行しますか?", vbExclamation + vbOKCancel, "削除の確認")
' OKをクリックした場合の処理
If response = vbOK Then
' 作業フォルダの選択
Dim dialog As FileDialog
Dim folderPath As String
Set dialog = Application.FileDialog(msoFileDialogFolderPicker)
dialog.Title = "削除するフォルダを選択してください"
dialog.AllowMultiSelect = False
' フォルダの選択ダイアログを表示
If dialog.Show = -1 Then
folderPath = dialog.SelectedItems(1)
' Ctrlキーを押しながらマウスで指定したフォルダやファイルを削除
Dim objShell As Object
Set objShell = CreateObject("Shell.Application")
objShell.Namespace(Left(folderPath, InStrRev(folderPath, "\") - 1)).ParseName(Right(folderPath, Len(folderPath) - InStrRev(folderPath, "\"))).InvokeVerb ("delete")
MsgBox "削除が完了しました。", vbInformation, "削除完了"
End If
Else
' キャンセルをクリックした場合の処理
MsgBox "削除をキャンセルしました。", vbInformation, "削除キャンセル"
End If
End Sub
No.1
- 回答日時:
Sub DeleteFoldersAndFiles()
' メッセージボックスを表示
Dim response As Integer
response = MsgBox("回答フォルダと不要ファイルを削除します。続行しますか?", vbCritical + vbOKCancel, "警告")
' OKをクリックした場合
If response = vbOK Then
' フォルダの選択ダイアログを表示
Dim folderPath As Variant
folderPath = Application.GetOpenFilename("フォルダを選択してください", , "フォルダの選択", , True)
' フォルダが選択された場合
If folderPath <> False Then
' フォルダやファイルを削除
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder folderPath, True
' 次の作業に進む
' ここに次の作業のコードを記述する
End If
Else ' キャンセルをクリックした場合
' 次の作業に進む
' ここに次の作業のコードを記述する
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 10:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
Excel VBA 同じ名前のフォルダ...
-
同一フォルダ内の別ブックから...
-
VBA フォルダ名に特定の文字を...
-
【マクロ】ファイル名の日付に...
-
ディレクトリ名変更してコピー...
-
VBA 最新のフォルダ取得
-
Downloaded Program Filesはど...
-
デスクトップの画像をhtmlに表...
-
Access VBA で フォルダ権限...
-
保存先のフォルダ名を指定した...
-
VBA フォルダの複数選択ができない
-
Hitachi Embedded Workshop (HE...
-
エクセルのマクロについて教え...
-
エクセルで、マクロを使わずに...
-
VS2005で"定義へ移動"ができません
-
多量のファイルをフォルダに自...
-
ファイル名を取得し、ログファ...
-
Dreamweaverでイメージを挿入す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
パス名に2バイト文字(マルチバ...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
Excelのハイパーリンクについて...
-
デスクトップの画像をhtmlに表...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
バッチファイルで指定フォルダ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
excelマクロ 冒頭3文字が一致す...
-
【マクロ】ファイル名の日付に...
-
フォルダにリンクを貼りたい
-
会社のネットワーク上のファイ...
-
多量のファイルをフォルダに自...
-
C ファイル出力で、フォルダが...
-
保存先のフォルダ名を指定した...
-
vbsで選択ダイアログを表示した...
-
Excel VBA 同じ名前のフォルダ...
おすすめ情報
回答ありがとうございました
私の質問文が悪かったようです
質問文中の
次の作業に進めます
は
コードから無くして頂けますか?
又 出来るだけ クリックの回数を減らしたのですが
メッセージボックスでokかキャンセル
okね場合は削除フォルダやファイルを指定した後に削除ボタンをクリック
みたいな感じですが
お願い出来ますでしょうか?
何度も申し訳ありません
よろしくお願いします
おはようございます。
カードを設定しマクロを実行しましたが、
「フォルダ」削除のダイヤログのみが表示されてしまい、
作業フォルダの不要ファイルを削除することが出来ませんでした。
不要フォルダ及び不要ファイルを選択して、削除出来る解決方法をお願いいたします。
何度も申し訳ありません。
よろしくお願いします。
回答ありがとうございます。
ご指示通りのコードを設定しましたが、
指定したフォルダの削除が出えきませんでした。
フォルダは指定出来ておりますが、
削除されておりませmm
ファイルは全て上手く行きました。
メッセージボックスに「ファイルは削除されました」と出ていますが、
フォルダが削除されたとは出てきませんでした。
動作確認をされたとの事でしたが、
何度申し訳ありません、
解決方法を教えてください。
今回送っていただきましたコードは私の希望の通りのマクロになります。
余分な警告文等々が表示されず、大変使用しやすいです。
何卒、フォルダも削除出来るようにお願いいたします。
よろしくお願いします。
例えばですが、
この度のマクロを
フォルダ削除マクロと
ファイル削除(複数選択)マクロとを別々にしていただくとこは可能でしょうか。
2つのマクロを統合して一つのマクロとして使用することも可能かと思います。
よろしくお願いします。