[[20220509201500]] 『ネットワーク上のフォルダ内のファイル削除』(しゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ネットワーク上のフォルダ内のファイル削除』(しゃん)

こんばんは。
ネットワーク上のフォルダ内のファイルを削除したいのですが
killを使ってネットワークのパスを入れているのですが
ファイルが見つかりませんとでます。
何が原因でしょうか?

< 使用 Excel:Excel2019、使用 OS:Windows10 >


残念ながら、こちらにはあなたの画面が見えません。
すべてを曝せとは言いませんが、どのようなコードを書いて、何処でエラーが出るのかなど提示しないと有効な回答は得られないと思います。

 ネットワークフォルダのパス等は架空のもので構いませんが、お困りの内容と辻褄があうものを提示してください。

(もこな2) 2022/05/09(月) 20:24


大変失礼いたしました。
Private Sub CommandButton1_Click()
Kill "\\192.1.7.222\共有\関係\管理\*.xlsm*"
END SUB
で行うとファイルが見つかりませんと出て、デバックボタンを押すと
\\192.1.7.222\共有\関係\管理\*.xlsm*"が黄色くなります。
(しゃん) 2022/05/09(月) 22:05

そりゃ「\\192.1.7.222\共有\関係\管理」に「*.xlsm*」というファイルが無いからでしょう。

Killステートメントで処理したいなら1つずつファイル名(フルパス)を特定してあげましょう。

     Sub 研究用()
        Const フォルダパス As String = "\\192.1.7.222\共有\関係\管理\"
        Dim ファイル名 As String

        ファイル名 = Dir(フォルダパス & "*.xlsm*")
        Do Until ファイル名 = ""
            MsgBox "↓は削除対象です" & vbLf & フォルダパス & ファイル名
            ファイル名 = Dir()
        Loop
    End Sub

もしも、ワイルドカードを使って一括指定したいということならば、Windows10ということなので、コマンドプロンプトのDELコマンドの使用を検討してみてはどうでしょうか?

 【参考】
https://www.k-tanaka.net/cmd/del.php

なお、VBAのKillステートメントを使う、VBAからコマンドプロンプトのDELコマンドを呼び出して使う、VBAとは関係なく(BAT等を書いて)コマンドプロンプトのDELコマンドを使う、いずれの方法でも同じ結果になるとおもいますが、いずれも元には戻せませんから、本当に削除でよいのか慎重に検討することをオススメします。

(もこな2 ) 2022/05/10(火) 12:49


  Dim path As String
  path = "\\192.1.7.222\共有\関係\管理\*.xlsm*"

  (1)ファイルがあるときだけKillする
   If Dir(path) <> "" Then
      Kill path
   End If

 (2)エラーがでても無視する
   On Error Resume Next
      Kill path
   On Error GoTo 0
(´・ω・`) 2022/05/10(火) 14:24

KILL
https://mat9989.wixsite.com/website/post/excel%E3%81%A7vba%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%89%8A%E9%99%A4

(マナ) 2022/05/10(火) 14:40


みなさん
アドバイスありがとうございます。
もこな2さんの言う通り、単なるファイルがなかっただけでした。
ファイルを入れたら消えました。
確認不足ですみません。
お騒がせしました。

みなさんから頂いたアドバイスを参考にさせてもらいます。
貴重なご意見ありがとうございました。
(しゃん) 2022/05/10(火) 15:04


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.