下記のマクロを実行すると、メッセージが表示され、ダイアログが開き、不要ファイルをマウスで選択して、「OK」をクリックすると不要ファイルが削除されますが、
マクロを実行すると画像のエラーメッセージが表示され、
コードの「 Sh As SHFILEOPSTRUCT」部分の色が変色し、上手くマクロを実行できません。
解決方法を教えてください。
宜しくお願い致します。
現行のマクロ
ub 不要ファイル選択削除()
Dim InitialPath As String
InitialPath = ThisWorkbook.Path
Dim rs As Integer
rs = MsgBox("ファイルを削除します。", vbCritical + vbOKCancel, "削除の確認")
If rs = vbOK Then
Dim sPath As Variant
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "削除するファイルを選択してください"
.InitialFileName = InitialPath
.AllowMultiSelect = True
If .Show = True Then
ReDim filePath(0)
For Each sPath In .SelectedItems
If filePath(0) <> "" Then
ReDim Preserve filePath(UBound(filePath) + 1)
End If
filePath(UBound(filePath)) = sPath
Next
Call MoveDustbox(filePath)
Else
MsgBox "削除をキャンセルしました。", vbInformation
.Execute
End If
End With
End If
End Sub
Sub MoveDustbox(vPath As Variant)
Dim sPath As Variant
Dim Sh As SHFILEOPSTRUCT
Dim ret As Long
Sh.hwnd = Application.hwnd
Sh.wFunc = &H3
Sh.fFlags = &H40 + &H10
If Not IsArray(vPath) Then
Sh.pFrom = vPath
ret = SHFileOperation(Sh)
Else
For Each sPath In vPath
Sh.pFrom = sPath
ret = SHFileOperation(Sh)
Next
End If
End Sub
以上となります。宜しくお願い致します。

No.1ベストアンサー
- 回答日時:
このようなユーザ定義型が必要なはずです。
Office Tanaka アニメ付きファイル操作
http://officetanaka.net/excel/vba/tips/tips48.htm
の
Public Type SHFILEOPSTRUCT
・・・
End Type
ってやつです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/07 08:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/03/26 18:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/03/27 14:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/11/08 10:31
- Visual Basic(VBA) マクロについて教えてください。 下記のマクロは以前教えて頂いたマクロです。 マクロを実行すると 指定 6 2024/01/17 17:50
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel: ファイル名になぜ、[...
-
エクセルのファイル:「自分」が...
-
CSVファイルの特定行の削除
-
彼女の過去の恋愛に嫉妬してし...
-
docxをmht形式で保存したファイ...
-
ファイルが移動してもリンクの...
-
vbsからのExcelマクロ呼び出し...
-
xlsファイルが開かない。
-
File.delete()にてファイルを削...
-
thunderbirdで特定のメールだけ...
-
複数のExcelファイルにある同名...
-
1ページあたりの限界容量?
-
エクセルのマクロについて教え...
-
エクセル保存終了で一時ファイ...
-
VBA ファイル一覧を取得して全...
-
ノーツの添付ファイルの場所を...
-
VB6 Form内のDragDrop
-
WINDOWS CMDからゴミ箱のファ...
-
FTPのgetとputの使いわけ。
-
C# リッチテキスト形式のファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの特定行の削除
-
彼女の過去の恋愛に嫉妬してし...
-
エクセルのファイル:「自分」が...
-
Excel: ファイル名になぜ、[...
-
ファイルが移動してもリンクの...
-
複数のExcelファイルにある同名...
-
iCloud for Windowsをアンイン...
-
EXCELVBAにて文字列にして「01...
-
[Unity]シーンファイルの中が消...
-
vbsからのExcelマクロ呼び出し...
-
5000個のtiffファイルをpdfへ変...
-
batでファイル名を変更したい(...
-
WINDOWS CMDからゴミ箱のファ...
-
VBA ファイル一覧を取得して全...
-
docxをmht形式で保存したファイ...
-
CSVファイルの暗号化
-
バインダーの作り方
-
FTPのgetとputの使いわけ。
-
フォルダ内の複数のファイルの...
-
自動で.xlsを閉じて指定フォル...
おすすめ情報

