如何用VBA判断文件夹是否存在?
如何实现:1、判断??日计划??文件夹是否存在,如果不存在,则自动生成2、判断??周评审??文件夹是否存在,如果存在,则自动删除文件的路径:e:\定单计划\月度定单\日计划??请各位老师指导!
最简单是dir,如果为空,则不存在ifdir("e:\定单计划\月度定单\日计划",16)=emptythen??msgobx??"文件夹不存在"endif
MkDirsPath创建文件夹Name??as??剪切文件ifdir("e:\定单计划\月度定单\日计划\")=""thenMkDIr"e:\定单计划\月度定单\日计划\"
Kill"e:\新建文件夹\."kill不能删除子目录RmDirpath??删除一个存在的目录或文件夹。SubDel()??DimFso,Fld??SetFso=CreateObject("Scripting.FileSystemObject")??SetFld=Fso.getfolder("E:\新建文件夹\")??Fld.DeleteEndSub需要注意:如果你所打开的工作簿也在要删除的文件夹里,需要更改为只读属性,做自杀处理。PrivateSubWorkbook_Open()??DimFso,Fld,Fd,F??SetFso=CreateObject("Scripting.FileSystemObject")??SetFld=Fso.getfolder(ThisWorkbook.Path&"\")????ForEachFdInFld.subfolders??????Fd.Delete??Next????ForEachFInFld.Files??????IfF.Name<>ThisWorkbook.NameThenF.Delete??NextEndSub
―――――――――――――――――――――
OptionExplicit
Sub生成文件夹()
DimwjjAsObject
DimMbookAsWorkbook
DimwjjNameAsString
OnErrorResumeNext
Application.ScreenUpdating=False
Setwjj=CreateObject("Scripting.FileSystemObject")
wjjName="张爱军"
''在C盘建立“张爱军”的文件夹
MkDirThisWorkbook.Path&"\"&wjjName
Setwjj=Nothing
''在C盘\“张爱军”文件夹中生成“张爱军.xls”工作簿文件
SetMbook=Workbooks.Add
Mbook.SaveAsFilename:=ThisWorkbook.Path&"\"&wjjName&"\"&wjjName&".xls"
ActiveWindow.CloseTrue''关闭“张爱军.xls”工作簿
Application.ScreenUpdating=True
EndSub
Sub删除文件夹()
DimwjjAsObject
DimwjjNameAsString
OnErrorResumeNext
Application.ScreenUpdating=False
Setwjj=CreateObject("Scripting.FileSystemObject")
wjjName="张爱军"
''在C盘查找“张爱军”的文件夹(没有的则跳过,已经有的删除)
Ifwjj.folderExists(ThisWorkbook.Path&"\"&wjjName)=TrueThen
wjj.deletefolderThisWorkbook.Path&"\"&wjjName''(注:不管文件夹内是否有子文件夹或者其它文件,一律直接删除)
EndIf
Setwjj=Nothing
Application.ScreenUpdating=True
EndSub
''注:
''以上文件都在C盘内生成,但通常采用本程序目录下生成相关文件夹\文件,有利于查找,因此可以用下面的语句替代"C:\"&...
''ThisWorkbook.Path&"\"&...
|
|