vba文件夾存在
❶ vba如何判斷文件存在
可以使用dir跟fso
if dir(文件路徑)<>"" then 文件存在
fso,如果沒有前期綁定,考慮後期綁定,案例如下:
Sub 按鈕1_Click()
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
strfile = Application.InputBox("請輸入文件的完整名稱:", "請輸入文件的完整名稱:", , , , , , 2)
If fso.fileexists(strfile) Then
MsgBox strfile & " :存在"
Else
MsgBox strfile & " :不存在"
End If
Application.ScreenUpdating = True
End Sub
❷ 在VBA中怎樣判斷文件夾是否存在
借用別人的答案,沒記得從哪來了,感謝前輩,僅供參考。 VBA中有時要判斷文件或文件夾是否存在,為打開文件作準備,這里採用錯誤機制來判斷 代碼如下: Function 文件或文件夾是否存在
❸ 用VBA如何批量將工作表保存到指定的文件夾
用vba保存到指定的文件夾,這種情況下,我們就是在電腦上先建立一個文件夾,然後上傳保存就可以了
❹ Excel的VBA中,如果某文件夾存在就繼續,文件夾不存在就新建一個再繼續,怎麼寫
'判斷文件是否存在
Function ExistsFile_UseFso(strPath As String) As Boolean
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
ExistsFile_UseFso = fso.FileExists(strPath)
Set fso = Nothing
End Function
'測試
Sub a()
If ExistsFile_UseFso("具體路徑文件(包含文件名的路徑)") Then
'文件存在具體操作
Else
'文件不存在具體操作
End If
End Sub
❺ vba判斷文件夾是否存在
VBA中有時要判斷文件或文件夾是否存在,為打開文件作準備,這里採用錯誤機制來判斷
代碼如下:
Function 文件或文件夾是否存在(全路徑 As String) As Boolean
On Error GoTo
EarlyExit
If Not Dir(全路徑, vbDirectory) = vbNullString Then
文件或文件夾是否存在 = True
End If
Exit Function
EarlyExit:
文件或文件夾是否存在 = False
End Function
需在說明的是,參數「全路徑」要有盤符之類的,呵呵
使用方法與其它函數一樣
VBA的操作中,有時要打開一個文件,但要是文件已打開,再次通過程序打開時,會出現錯誤,因此,在打開文件之前,需在先判斷文件是否已打開,下面是判斷代碼:
Function 文件是否打開(文件名 As
String) As Boolean
On Error Resume Next
文件是否打開 = True
If StrComp(Workbooks(文件名).Name, 文件名, vbTextCompare) 0 Then
文件是否打開 = False
End If
End Function
需要說明的是,參數「文件名」是短文件名(不帶路徑的文件名)
Function 特殊文件夾路徑(文件夾名
As String) As String
Dim WSHShell As Object
Dim lj As String
Set WSHShell =
CreateObject("Wscript.Shell")
lj = WSHShell.SpecialFolders(文件夾名)
Set WSHShell = Nothing
特殊文件夾路徑 = lj
End Function
文件夾名有:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
❻ VBA,怎麼判斷指定路徑文件夾是否存在子文件夾(非文件)
以下代碼即可判定指定文件夾是否存在:
Sub判定指定文件夾下是否有子文件夾()
DimPa$,Na$
Pa="D:123"'指定文件夾
Na=Dir(Pa&"*",vbDirectory)
WhileNa<>""
IfInStr(Na,".")=0Then
MsgBoxPa&"下有子文件夾"
ExitSub
EndIf
Na=Dir
Wend
MsgBoxPa&"下無子文件夾"
EndSub
❼ [VBA]如何判斷一個文件或者文件夾是否存在
可以使用如下幾個函數來判斷
Function ExistsFile_UseFso(strPath As String) As BooleanDim fsoSet fso = CreateObject("Scripting.FileSystemObject")
ExistsFile_UseFso = fso.FileExists(strPath)
Set fso = Nothing
End Function
Function FolderExists_UseFso(strPath As String) As BooleanDim fsoSet fso = CreateObject("Scripting.FileSystemObject")
FolderExists_UseFso = fso.FolderExists(strPath)
Set fso = Nothing
End Function
Function FileOrFolderExists_UseDir(strPath As String) As Boolean
'注意,使用 DIR 函數來檢測文件或者文件夾是否存在在區域網環境下
'由於訪問許可權問題可能會出錯
If Dir(strPath) = "" Then
1和0
❽ vba判斷文件是否存在
樓主參考一下:
PrivateSubCommand1_Click()
'Dir()函數,如果第2個參數省略了,具有隱藏屬
'性或系統屬性的文件,就會檢錯誤的測為「不存在」
If(Dir$("x: emp123.txt",7)="")Then
MsgBox"文件不存在。",32
Else
MsgBox"文件已經存在。",32
EndIf
EndSub
❾ VBA自動生成年文件夾,判斷當已存在年文件夾時,則在年文件夾內自動生成月文件夾,日文件也是如此
已測試,滿足你需求,運行開始請輸入年份!
Sub test()
ye = InputBox("請輸入年份!")
If Dir(ThisWorkbook.Path & "/" & ye, vbDirectory) = "" Then
VBA.MkDir (ThisWorkbook.Path & "/" & ye)
For m = 1 To 12
If Dir(ThisWorkbook.Path & "/" & ye & "/" & m, vbDirectory) = "" Then
VBA.MkDir (ThisWorkbook.Path & "/" & ye & "/" & m)
End If
For da = 1 To Day(DateSerial(ye, m + 1, 1) - 1)
If Dir(ThisWorkbook.Path & "/" & ye & "/" & m & "/" & da, vbDirectory) = "" Then
VBA.MkDir (ThisWorkbook.Path & "/" & ye & "/" & m & "/" & da)
End If
Next
Next
End If
End Sub
❿ excel vba判斷文件是否存在
關於,一般有如下的兩種方式。
請根據情況,選擇一種適合你的方法。
一、通過FileExists判斷文件是否存在
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
If MyFile.FileExists("E:\dzwebs\Pic\logo.gif" ) = TrueThenMsgBox"文件存在"Else MsgBox"文件不存在"End If
以上代碼在VBA環境下使用。或者將其製作成為宏也可以。"E:\dzwebs\Pic\logo.gif"為文件路徑及文件名稱,可自行修改。
二、通過Dir來判斷
Dim YouFile As String
YouFile = Dir("E:\MyPictures\Pic\logo.gif")
If x < "" Then
MsgBox"文件存在"ElseMsgBox
"文件不存在"Endif
"E:\MyPictures\Pic\logo.gif"為文件路徑及文件名稱,可自行修改。當然,如上代碼,也在VBA下使用,可自作成為宏或函數都可以。
上面的兩種方法,本站推薦你使用第一種方法,因為第一種方法比較符合邏輯思維。