導航:首頁 > 文件目錄 > vb查找路徑有無文件

vb查找路徑有無文件

發布時間:2025-03-13 16:52:10

⑴ vb 中 判斷給定路徑中是否存在某excel文件,存在則刪掉它,新建一個excel,不存在則直接新建即可

Private Sub Command1_Click() '打開EXCEL過程
If Dir("D:\excel.bz") = "" Then '判斷EXCEL是否打開
Set xlApp = CreateObject("Excel.Application") '創建EXCEL應用類
xlApp.Visible = True '設置EXCEL可見
Set xlBook = xlApp.Workbooks.Open("D:\bb.xls") '打開EXCEL工作簿
Set xlSheet = xlBook.Worksheets(1) '打開EXCEL工作表
Else
Kill "d:\bb.xls" '刪除文件
End If
End Sub

⑵ VB如何檢查文件是否存在

用DIR函數用法如下
Dir[(pathname[, attributes])]

Dir 函數的語法具有以下幾個部分:

以 vbDirectory 屬性來調用 Dir 不能連續地返回子目錄。!!!

以下是VB幫助自帶查目錄的例子,明確的指出目錄必須要用GetAttr!!!

' 顯示 C:\ 目錄下的名稱。
MyPath = "c:\" ' 指定路徑。
MyName = Dir(MyPath, vbDirectory) ' 找尋第一項。
Do While MyName <> "" ' 開始循環。
' 跳過當前的目錄及上層目錄。
If MyName <> "." And MyName <> ".." Then
' 使用位比較來確定 MyName 代表一目錄。
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then

Debug.Print MyName ' 如果它是一個目錄,將其名稱顯示出來。
End If
End If
MyName = Dir ' 查找下一個目錄。
Loop

=========================================

(轉)

用VB函數Dir實現遞歸搜索目錄

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'函數GetExtName

'功能:得到文件後綴名(擴展名)

'輸入:文件名

'輸出:文件後綴名(擴展名)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Public Function GetExtName(strFileName As String) As String
Dim strTmp As String
Dim strByte As String
Dim i As Long
For i = Len(strFileName) To 1 Step -1
strByte = Mid(strFileName, i, 1)
If strByte <> "." Then
strTmp = strByte + strTmp
Else
Exit For
End If
Next i
GetExtName = strTmp
End Function
Public Function search(ByVal strPath As String, Optional strSearch As String = "") As Boolean
Dim strFileDir() As String
Dim strFile As String
Dim i As Long

Dim lDirCount As Long
On Error GoTo MyErr
If Right(strPath, 1) <> "\" Then strPath = strPath + "\"
strFile = Dir(strPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
While strFile <> "" '搜索當前目錄
DoEvents
If (GetAttr(strPath + strFile) And vbDirectory) = vbDirectory Then '如果找到的是目錄
If strFile <> "." And strFile <> ".." Then '排除掉父目錄(..)和當前目錄(.)
lDirCount = lDirCount + 1 '將目錄數增1
ReDim Preserve strFileDir(lDirCount) As String
strFileDir(lDirCount - 1) = strFile '用動態數組保存當前目錄名
End If
Else
If strSearch = "" Then
Form1.List1.AddItem strPath + strFile
ElseIf LCase(GetExtName(strPath + strFile)) = LCase(GetExtName(strSearch)) Then
'滿足搜索條件,則處理該文件
Form1.List1.AddItem strPath + strFile '將文件全名保存至列表框List1中
End If
End If
strFile = Dir
Wend
For i = 0 To lDirCount - 1
Form1.Label3.Caption = strPath + strFileDir(i)
Call search(strPath + strFileDir(i), strSearch) '遞歸搜索子目錄
Next
ReDim strFileDir(0) '將動態數組清空
search = True '搜索成功
Exit Function
MyErr:
search = False '搜索失敗
End Function

返回一個 String,用以表示一個文件名、目錄名或文件夾名稱,它必須與指定的模式或文件屬性、或磁碟卷標相匹配。

語法

Dir[(pathname[, attributes])]

Dir 函數的語法具有以下幾個部分:

部分 描述
pathname 可選參數。用來指定文件名的字元串表達式,可能包含目錄或文件夾、以及驅動器。如果沒有找到 pathname,則會返回零長度字元串 ("")。
attributes 可選參數。常數或數值表達式,其總和用來指定文件屬性。如果省略,則會返回匹配 pathname 但不包含屬性的文件。

設置值

attributes 參數的設置可為:

常數 值 描述
vbNormal 0 (預設) 指定沒有屬性的文件。
vbReadOnly 1 指定無屬性的只讀文件
vbHidden 2 指定無屬性的隱藏文件
VbSystem 4 指定無屬性的系統文件
vbVolume 8 指定卷標文件;如果指定了其它屬性,則忽略vbVolume
vbDirectory 16 指定無屬性文件及其路徑和文件夾。

注意 這些常數是由 VBA 所指定的,在程序代碼中的任何位置,可以使用這些常數來替換真正的數值。

說明

Dir 支持多字元 (*) 和單字元 (?) 的通配符來指定多重文件。

由於 Macintosh 不支持通配符,使用文件類型指定文件組。可以使用 MacID 函數指定文件類型而不用文件名。比如,下列語句返回當前文件夾中第一個TEXT文件的名稱:

Dir("SomePath", MacID("TEXT"))

為選中文件夾中所有文件,指定一空串:

Dir("")

在 Microsoft Windows 中,如果在Dir函數中使用MacID函數,將產生錯誤。

任何大於256的attribute值都被認為是MacID 函數的值。

在第一次調用 Dir 函數時,必須指定 pathname,否則會產生錯誤。如果也指定了文件屬性,那麼就必須包括 pathname。

Dir 會返回匹配 pathname 的第一個文件名。若想得到其它匹配 pathname 的文件名,再一次調用 Dir,且不要使用參數。如果已沒有合乎條件的文件,則 Dir 會返回一個零長度字元串 ("")。一旦返回值為零長度字元串,並要再次調用 Dir 時,就必須指定 pathname,否則會產生錯誤。不必訪問到所有匹配當前 pathname 的文件名,就可以改變到一個新的 pathname 上。但是,不能以遞歸方式來調用 Dir 函數。以 vbDirectory 屬性來調用 Dir 不能連續地返回子目錄。

提示 由於文件名並不會以特別的次序來返回,所以可以將文件名存儲在一個數組中,然後再對這個數組排序。

⑶ vb中如查找文件是否存在

回答者:墨漬 - 同進士出身 七級 7-10 17:18

正解.不過差一個小參數...文件夾的話就是

if dir("",vbDirectory)
文件就是

if dir("",vbArchive )

閱讀全文

與vb查找路徑有無文件相關的資料

熱點內容
cydia微信63 瀏覽:538
設置電腦開機密碼鎖 瀏覽:404
iphone5s設置中有個紅1 瀏覽:229
衛生間地圖app哪個好 瀏覽:724
ps入門教程視頻全集 瀏覽:110
ahci驅動下載win1064 瀏覽:633
網站文件在linux哪個文件夾 瀏覽:461
誅仙3軒轅策怎麼升級 瀏覽:573
程序顯示漢語筆畫 瀏覽:367
appleid4位密碼鎖 瀏覽:3
歐姆龍plc程序下載 瀏覽:584
win10鎖定觸摸屏 瀏覽:362
cnc編程半桶水如何正式編程 瀏覽:689
用win10很慢怎麼回事啊 瀏覽:176
小米遷移數據剩餘多少時間 瀏覽:317
tcl電視機怎麼網站 瀏覽:615
vb查找路徑有無文件 瀏覽:202
用java怎麼打開文件 瀏覽:952
邵陽數控編程培訓在哪裡 瀏覽:284
怎樣從微信導出文件到電腦 瀏覽:703

友情鏈接