• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Excel VBA 刪除檔案 Kill 函數教學與範例

介紹如何使用 Excel VBA 的 Kill 函數刪除檔案。

Kill 函數用法

在 Excel VBA 巨集程式中,若想要刪除指定的檔案,可以使用 Kill 這個函數,其用法如下:

Kill(檔案路徑)

以下是一個實際的刪除檔案範例:

' 檔案路徑
filePath = "C:officeguidemyfile.txt"

' 刪除檔案
Kill(filePath)
Excel VBA 刪除檔案
Excel VBA 刪除檔案

亦可使用萬用字元(*)來指定要刪除的檔案,例如若要刪除 C:officeguide 目錄下所有的純文字檔案(*.txt)就可以這樣寫:

' 以萬用字元指定刪除的檔案
Kill("C:officeguide*.txt")

唯讀檔與檔案不存在問題

Kill 函數若遇到唯讀檔案,或是指定要刪除的檔案不存在的狀況,回直接產生錯誤,終止程式的執行:

找不到檔案
找不到檔案

如果想要避免這種小問題,可以在呼叫 Kill 函數之前,先確認檔案是否存在,並且設定檔案的屬性(將唯讀屬性取消),這樣就可以確保不會因為刪除檔案失敗而造成程式出錯。

' 檔案路徑
filePath = "C:officeguidemyfile.txt"

If Len(Dir(filePath)) > 0 Then  ' 確認檔案存在
   SetAttr filePath, vbNormal   ' 排除唯讀檔問題
   Kill filePath
End If

正規表示法

如果要刪除的檔案名稱比較複雜,也可以使用正規表示法來指定刪除的檔案,首先自己建立一個 RegexKill 函數,內容如下:

' 以正規表示法指定刪除的檔案
Sub RegexKill(filePath As String, pattern As String)
    Dim regex As Object, fileName As String, deleted As Long
    Set regex = CreateObject("VBScript.RegExp")
    regex.pattern = pattern
    fileName = Dir(filePath)
    Do While fileName <> vbNullString
        If regex.Test(fileName) Then Kill (filePath & fileName)
        fileName = Dir
    Loop
End Sub

接著我們就可以使用 RegexKill 函數,指定目錄位置以及正規表示法的規則,來精確指定要刪除的檔案:

' 以正規表示法指定刪除檔案
RegexKill "C:officeguide", "^[0-9]+.txt$"
以正規表示法指定刪除檔案
以正規表示法指定刪除檔案

以這個例子來說,^[0-9]+.txt$ 代表檔案名稱完全都是以數字組成的文字檔,所以執行之後,只要檔名是由純數字組成的檔案都會被刪除(前三個檔案),而如果檔名有參雜英文字母或其他字元的檔案則會被保留。

待刪除檔案
待刪除檔案

程式執行之後,C:officeguide 目錄下前三個由數字組成的檔案就會被刪除,只留下 A032.txt 與 office.txt 兩個檔案。

參考資料:AnalystCave、AnalystCave

分類:Excel 標籤:VBA

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide