
下記のマクロを実行すると、確認メッセージが表示され「YES」をクリックすると
マクロ設定ブックと同じフォルダ内にある指定の圧縮ファイルを削除できます。
このコードを変更して
マクロ設定ブックと同じフォルダ内に既に圧縮ファイルが削除されて無い場合に
マクロを実行した時に確認メッセージが表示されない方法を教えてください。
現状のマクロ
Sub 削除()
Dim alert As VbMsgBoxResult
alert = MsgBox("圧縮ファイルを削除してよろしいですか?", vbYesNo + vbQuestion, "削除確認")
If alert <> vbYes Then
Exit Sub
End If
On Error Resume Next
Kill ThisWorkbook.Path & "\*.zip"
Kill ThisWorkbook.Path & "\*.7z"
End Sub
以上となります。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
確認メッセージを表示する前に、指定の圧縮ファイルが存在するかどうかをチェックするようにマクロを変更することができます。
以下のコードを参考にしてください:Sub 削除()
Dim zipFiles As String
Dim sevenZipFiles As String
' 圧縮ファイルのパスを取得
zipFiles = Dir(ThisWorkbook.Path & "\*.zip")
sevenZipFiles = Dir(ThisWorkbook.Path & "\*.7z")
' 圧縮ファイルが存在するか確認
If zipFiles = "" And sevenZipFiles = "" Then
' 圧縮ファイルが存在しない場合、メッセージを表示せずに終了
Exit Sub
End If
' 確認メッセージを表示
Dim alert As VbMsgBoxResult
alert = MsgBox("圧縮ファイルを削除してよろしいですか?", vbYesNo + vbQuestion, "削除確認")
If alert <> vbYes Then
Exit Sub
End If
On Error Resume Next
' 圧縮ファイルを削除
Kill ThisWorkbook.Path & "\*.zip"
Kill ThisWorkbook.Path & "\*.7z"
End Sub
このコードでは、まず Dir 関数を使用して指定の圧縮ファイルが存在するかどうかを確認します。もし存在しない場合は、確認メッセージを表示せずにマクロを終了します。存在する場合のみ、確認メッセージを表示し、ユーザーの応答に応じてファイルを削除します。
No.4
- 回答日時:
dir関数使って対象ファイルがあるかどうか判定すればいいんじゃ無いっすかね
老婆心ながら。
そんなマクロ、間違って使いかねないようなものなんですか。わたしならそうい♪確認メッセージ自体を作らないですね。いちいちyesを選択するの面倒ですし。
さらに言えば、たぶんエクセルマクロでなく、batファイルつくっちゃいます。ちょっとファイル削除するためだけにエクセル起動するの、無駄に感じちゃいます。
No.2
- 回答日時:
こんにちは
>既に圧縮ファイルが削除されて無い場合に~
ワイルドカードを使っているので、対象ファイルを特定できませんけれど・・
事前に DIR() 関数で該当ファイルの存在をチェックすれば良いだけの話に思われます。(DIR関数でもワイルドカードを利用できます)
https://learn.microsoft.com/ja-jp/office/vba/lan …
No.1
- 回答日時:
まず、フラグを新たに1つ設け、値を初期化しておく
次に
https://tonari-it.com/excel-vba-filesystem-files …
にある手法で、該当フォルダに存在するファイル名をFor Eachでループさせ一つづつ取得しながら
Rightでファイル名末尾4文字を比較対象として .zip か?を判定する。該当する場合はフラグを立ててFor Eachのループを抜ける
Rightでファイル名末尾3文字を比較対象として .7z か?を判定する。該当する場合はフラグを立ててFor Eachのループを抜ける
ループ処理の直後で
フラグが立っていない場合は Exit Subする
フラグが立っている場合は後続処理(メッセージを表示するところからの処理)を実行する
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのVBAコードについて教えてください。 2 2024/07/04 10:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/03/28 12:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/03/27 14:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/03/26 18:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/11/09 11:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/07/01 15:23
- Visual Basic(VBA) マクロについて教えてください。 下記のマクロは以前教えて頂いたマクロです。 マクロを実行すると 指定 6 2024/01/17 17:50
このQ&Aを見た人はこんなQ&Aも見ています
-
Web画面の文字をVB6で取得したい
Visual Basic(VBA)
-
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
エクセルvbaの対象セルに色をつける 例えば a日付 b種類 c値段 dその他 にんじん 50 ぴー
Visual Basic(VBA)
-
-
4
VBA 2次元配列の出力
Visual Basic(VBA)
-
5
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
6
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
7
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
8
VBAのエラー表示の対処法について
Visual Basic(VBA)
-
9
VBA 同じフォルダ内のすべてのファイルに同じセルをペーストしたい
Visual Basic(VBA)
-
10
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
11
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 選択範囲の罫線色の...
-
【マクロ】シートの変数へ入れ...
-
Vba Array関数について教えてく...
-
VBAでCOPYを繰り返すと、処理が...
-
Excelのマクロについて教えてく...
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでユーザーフォームを指定回...
-
VBA ユーザーフォーム ボタンク...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【マクロ】切取りの場合、形式...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
ExcelVBAでパワポを操作したい
-
【マクロ】モジュール変数の記...
-
算術演算子「¥」の意味について
-
VBA 入力箇所指定方法
-
エクセルの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報