
下記のマクロを実行すると、メッセージが表示され、ダイアログが開き、不要ファイルをマウスで選択して、「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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
【マクロ】並び替えの範囲が、...
-
vba textboxへの入力について教...
-
ワードの図形にマクロを登録で...
-
エクエルのVBAコードについて教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
Excel VBA 選択範囲の罫線色の...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】開いているブックの...
-
えくせるのVBAコードについて教...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
-
【ExcelVBA】5万行以上のデー...
-
VBA ユーザーフォーム ボタンク...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel: ファイル名になぜ、[...
-
エクセルのファイル:「自分」が...
-
彼女の過去の恋愛に嫉妬してし...
-
CSVファイルの特定行の削除
-
iCloud for Windowsをアンイン...
-
ファイルが移動してもリンクの...
-
複数のExcelファイルにある同名...
-
vbsからのExcelマクロ呼び出し...
-
このファイルは外部のエディタ...
-
5000個のtiffファイルをpdfへ変...
-
EXCELVBAにて文字列にして「01...
-
FTPのgetとputの使いわけ。
-
ノーツの添付ファイルの場所を...
-
自動で.xlsを閉じて指定フォル...
-
CSVファイルの暗号化
-
[Unity]シーンファイルの中が消...
-
VBAにおいて、ファイルの移...
-
WINDOWS CMDからゴミ箱のファ...
-
docxをmht形式で保存したファイ...
-
【VBA】フォルダ内の複数Excel...
おすすめ情報