资源描述:
《VBA文件及文件夹操作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VBA文件及文件夹操作1.VBA操作文件及文件夹onerrorresumenext下测试A,在D:下新建文件夹,命名为folder方法1:MkDir"D:folder"方法2:Setabc=CreateObject("Scripting.FileSystemObject")abc.CreateFolder("D:folder")B,新建2个文件命名为a.xls和b.xlsWorkbooks.AddActiveWorkbook.SaveAsFilename:="D:foldera.xls"ActiveWo
2、rkbook.SaveAsFilename:="D:folderb.xls"C,创建新文件夹folder1并把a.xls复制到新文件夹重新命名为c.xlsMkDir"D:folder1"FileCopy"D:foldera.xls","D:folder1c.xls"D,复制folder中所有文件到folder1Setqqq=CreateObject("Scripting.FileSystemObject")qqq.CopyFolder"D:folder","D:folder1"D,重命名a.xl
3、s为d.xlsname"d:folder1a.xls"as"d:folder1d.xls"E,判断文件及文件夹是否存在Setyyy=CreateObject("Scripting.FileSystemObject")Ifyyy.FolderExists("D:folder1)=TrueThen...Ifyyy.FileExists("D:folder1d.xls)=TrueThen...F,打开folder1中所有文件Setrrr=CreateObject("Scripting.FileSystem
4、Object")Setr=rrr.GetFolder("d:folder1")ForEachiInr.FilesWorkbooks.OpenFilename:=("d:folder1"+i.Name+"")NextG,删除文件c.xlskill"d:folder1c.xls"H,删除文件夹folderSetaaa=CreateObject("Scripting.FileSystemObject")aaa.DeleteFolder"d:folder"1.8excelvba一次性获取文件夹下的所有文件名的
5、方法小生今天上网下载了一个财务常用报表的文件包,里面有几百个excel工作表,要是手工一个一个的获得文件名的话,那我可是要忙十天半月哦。于是想到昨论坛就是vba论坛,昨不充分利用excel自身的高级应用呀,呵呵,实现的代码如下,把工作量几天的任务可是一下子就完成了,这就是excelvba给你工作提高效率的结果!exclevba自动获取同一文件夹下所有工作表的名称红色代码:按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行Subt()DimsAsFileSearch'定义一个文件搜索对
6、象Sets=Application.FileSearchs.LookIn="c:"'注意路径,换成你实际的路径s.Filename="*.*"'搜索所有文件s.Execute'执行搜索Cells.Delete'表格清空Fori=1Tos.FoundFiles.CountCells(i,1)=s.FoundFiles(i)'每一行第一列填写一个文件名NextEndSub现在获得的可是带路径的工作表名,去掉前的路径可用以下方法;=RIGHT(A1,LEN(A1)-FIND("#",SUBSTITUTE(A1,""
7、,"#",LEN(A1)-LEN(SUBSTITUTE(A1,"",)))))最后用常规的方法往下拖,就完成了笔者所需的工作表名。outlook下VBA编程:把公用文件夹里的邮件附件拷贝出来保存在硬盘上2009-06-1709:35SubSaveAttachments()DimoAppAsOutlook.ApplicationDimoNameSpaceAsNameSpaceDimoFolderAsMAPIFolderDimoMailItemAsObjectDimsMessageAsStringBeforeDat
8、e=#10/1/2007#'choosetheenddateofwantedMyDir="E:liuxc-workoillossbackupfrompublicfolder"'choosethefolderlocationforsaveSender="Hz121Supervisor"'caution,casesensitiveSendFile="HZ121-1_D