亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在VBA中刪除文件

在VBA中刪除文件

吃雞游戲 2019-12-25 14:20:56
使用VBA,我如何:測試文件是否存在,如果存在,刪除它?
查看完整描述

3 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

1.)在這里檢查?;旧献龅竭@一點:


Function FileExists(ByVal FileToTest As String) As Boolean

   FileExists = (Dir(FileToTest) <> "")

End Function

我將留給您找出所需的各種錯誤處理,但這是我要考慮的錯誤處理內容之一:


檢查是否傳遞了空字符串。

檢查文件名/路徑中包含非法字符的字符串

2.)如何刪除文件。看這個 基本上使用Kill命令,但是您需要考慮將文件設為只讀的可能性。這是為您提供的功能:


Sub DeleteFile(ByVal FileToDelete As String)

   If FileExists(FileToDelete) Then 'See above          

      ' First remove readonly attribute, if set

      SetAttr FileToDelete, vbNormal          

      ' Then delete the file

      Kill FileToDelete

   End If

End Sub

同樣,我將把錯誤處理留給您,這些也是我考慮的事情:


目錄和文件的行為是否應該有所不同?用戶是否應該必須明確表示必須刪除目錄?


您是要代碼自動重置只讀屬性,還是應該向用戶提供某種指示,說明已設置了只讀屬性?


編輯:將此答案標記為社區Wiki,以便任何人可以根據需要進行修改。


查看完整回答
反對 回復 2019-12-25
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

我否則完全同意布雷特斯基的答案的另一種編碼方式可能是


With New FileSystemObject

    If .FileExists(yourFilePath) Then

        .DeleteFile yourFilepath

    End If

End With

效果相同,但變量聲明更少(或者完全沒有)。


FileSystemObject是一個非常有用的工具,非常值得與之友好。除了其他方面,對于文本文件編寫,它有時有時可能比傳統方法要快,這可能會讓一些人感到驚訝。(至少以我的經驗,YMMV)。


查看完整回答
反對 回復 2019-12-25
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

我可能會為此感到惱火,但是如果您要刪除它,那么測試存在性的重點是什么?我最主要的煩惱之一是一個應用程序引發錯誤對話框,顯示類似“無法刪除文件,它不存在!”之類的錯誤對話框。


On Error Resume Next

aFile = "c:\file_to_delete.txt"

Kill aFile

On Error Goto 0

return Len(Dir$(aFile)) > 0 ' Make sure it actually got deleted.

如果文件不存在,任務就完成了!


查看完整回答
反對 回復 2019-12-25
  • 3 回答
  • 0 關注
  • 803 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號