vba如何判斷某個資料夾下是否存在某工作簿

2021-09-26 09:10:48 字數 976 閱讀 9442

某乙個資料夾下存了許多檔案,想知道某一檔案是否存在,然後依據判斷結果進行各樣的操作。**可以這麼寫:

sub test()

dim filename as string

filename = thisworkbook.path & "\機密檔案.xlsx"

if len(dir(filename)) > 0 then

debug.print "yes"

else

debug.print "no"

end if

end sub

不過這樣的**只能判斷本工作簿所在的資料夾中是否存在,我們可以輸出filename變數檢視一下:

c:\users\joshua\desktop\測試\機密檔案.xlsx

vba就是用這個路徑去查詢機密檔案.xlsx是否存在,如果機密檔案存在資料夾就沒辦法找見了。

c:\users\joshua\desktop\機密檔案.xlsx

這個時候該如何寫呢。

sub test()

dim filename as string

filename = thisworkbook.path

filename = mid(filename, 1, instrrev(filename, "\"))

filename = filename & "機密檔案.xlsx"

debug.print filename

end sub

'輸出 → c:\users\joshua\desktop\機密檔案.xlsx

這邊用到了mid和instrrev的用法。這兩個函式的用法也是十分簡單的。

mid函式是擷取字串的,而instrrev函式返回乙個字串在另乙個字串**現的位置,從字串的末尾開始查詢。這裡就不詳細展開記錄了。

vba開啟關閉資料夾下的所有檔案

因為自己昨天想不通,在路上想了一會兒,今天過來一會兒就想明白了,看來做事還是講效率比較好,磨時間沒意義 sub dakaiguanbi 這個 就是進行二次後處理並生成建立新的excel dim str as string 這個vba 是後處理的 載入階段未接觸上進行修正 dim wb as work...

VBA刪除某些資料夾下的所有檔案

寫完就發現這個 不用寫得這麼重複的 sub shanchuwenjian dim str as string dim str2 as string 這個vba 是後處理的 載入階段未接觸上進行修正 dim i,jj,kk as integer dim wb as workbook for i 1 t...

執行某個資料夾下的全部py檔案

import os 執行乙個檔案裡所有的檔案,比如 def func path 先判斷這個path是檔案還是資料夾 isdir,isfile 如果是檔案 py結尾 if os.path.isfile path and path.endswith py 執行這個檔案 需要記怎麼執行檔案 os.syst...