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下使用,可自作成为宏或函数都可以。
上面的两种方法,本站推荐你使用第一种方法,因为第一种方法比较符合逻辑思维。