下記のマクロを実行すると、メッセージが表示され、ダイアログが開き、不要ファイルをマウスで選択して、「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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAに詳しい方教えてください。
Visual Basic(VBA)
-
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
Excel-VBAのmsgBox()の不思議
Visual Basic(VBA)
-
-
4
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
5
Vba SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
6
VBA レジストリの値の読み方について教えてください
Visual Basic(VBA)
-
7
エクセルVBAについて
Visual Basic(VBA)
-
8
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
9
エクセルVBAについて
Visual Basic(VBA)
-
10
Vba 実数および実数タイプの変数について教えてください
Visual Basic(VBA)
-
11
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
12
VBAを使用した時間管理
Visual Basic(VBA)
-
13
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
14
エクセルについて
Visual Basic(VBA)
-
15
VBA 複数のエクセルから一つのエクセルに貼り付ける
Visual Basic(VBA)
-
16
VBA指定行削除
Visual Basic(VBA)
-
17
VBA一覧取得 再投稿
Visual Basic(VBA)
-
18
PDF出力マクロについて。マクロ初心者です。 エクセルで、アクティブシートを指定したフォルダに保存す
Visual Basic(VBA)
-
19
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
20
VBAの質問になります メッセージボックス
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの特定行の削除
-
vbsからのExcelマクロ呼び出し...
-
VBAにおいて、ファイルの移...
-
FTPのgetとputの使いわけ。
-
5000個のtiffファイルをpdfへ変...
-
OneDrive必要なものでしょうか
-
iCloud for Windowsをアンイン...
-
自動で.xlsを閉じて指定フォル...
-
複数のExcelファイルにある同名...
-
VBSによるファイルコピー
-
ファイルが移動してもリンクの...
-
C# リッチテキスト形式のファイ...
-
Excelのマクロについて教えてく...
-
Excel: ファイル名になぜ、[...
-
エクセルでブックを閉じたとき...
-
[Unity]シーンファイルの中が消...
-
WINDOWS CMDからゴミ箱のファ...
-
CreateFile関数によるCD/DVDへ...
-
ノーツの添付ファイルの場所を...
-
バインダーの作り方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのマクロについて教えてく...
-
彼女の過去の恋愛に嫉妬してし...
-
CSVファイルの特定行の削除
-
vbsからのExcelマクロ呼び出し...
-
OneDrive必要なものでしょうか
-
Excel: ファイル名になぜ、[...
-
EXCELVBAにて文字列にして「01...
-
ファイルが移動してもリンクの...
-
docxをmht形式で保存したファイ...
-
複数のExcelファイルにある同名...
-
FTPのgetとputの使いわけ。
-
WINDOWS CMDからゴミ箱のファ...
-
iCloud for Windowsをアンイン...
-
エクセルのファイル:「自分」が...
-
[Unity]シーンファイルの中が消...
-
5000個のtiffファイルをpdfへ変...
-
VBAにおいて、ファイルの移...
-
Excelに貼り付けた画像を圧縮す...
-
自動で.xlsを閉じて指定フォル...
-
このファイルは外部のエディタ...
おすすめ情報