VBA文件及文件夹操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VBA文件及文件夹操作
1.VBA操作文件及文件夹
on error resume next下测试
A,在D:\下新建文件夹,命名为folder
方法1:MkDir "D:\folder"
方法2:Set abc = CreateObject("Scripting.FileSystemObject")
abc.CreateFolder ("D:\folder")
B,新建2个文件命名为a.xls和b.xls
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="D:\folder\a.xls"
ActiveWorkbook.SaveAs Filename:="D:\folder\b.xls"
C,创建新文件夹folder1并把a.xls复制到新文件夹重新命名为c.xls MkDir "D:\folder1"
FileCopy "D:\folder\a.xls", "D:\folder1\c.xls"
D,复制folder中所有文件到folder1
Set qqq = CreateObject("Scripting.FileSystemObject")
qqq.CopyFolder "D:\folder", "D:\folder1"
D,重命名a.xls为d.xls
name "d:\folder1\a.xls" as "d:\folder1\d.xls"
E,判断文件及文件夹是否存在
Set yyy = CreateObject("Scripting.FileSystemObject")
If yyy.FolderExists("D:\folder1) = True Then ...
If yyy.FileExists("D:\folder1\d.xls) = True Then ...
F,打开folder1中所有文件
Set rrr = CreateObject("Scripting.FileSystemObject")
Set r = rrr.GetFolder("d:\folder1")
For Each i In r.Files
Workbooks.Open Filename:=("d:\folder1\" + + "")
Next
G,删除文件c.xls
kill "d:\folder1\c.xls"
H,删除文件夹folder
Set aaa = CreateObject("Scripting.FileSystemObject")
aaa.DeleteFolder "d:\folder"
2.VBA Dir函数
第1.12例Dir函数
一、题目:
要求编写一段代码,运用Dir函数返回一个文件夹的文件列表。
二、代码:
Sub 示例_1_12()
Dim wjm
wjm = Dir("C:\WINDOWS\WIN.ini")
MsgBox wjm
wjm = Dir("C:\WINDOWS\*.ini")
wjm = Dir
End Sub
三、代码详解
1、Sub 示例_1_12():宏程序的开始语句。宏名为示例_1_12。
2、Dim wjm :变量wjm声明为可变型数据类型。
3、wjm = Dir("C:\WINDOWS\WIN.ini") :
如果该文件存在则返回“WIN.INI”(在C:\Windows 文件夹中) ,把返回的文件名赋给变量wjm 。如果该文件不存在则wjm=””。
4、wjm = Dir("C:\WINDOWS\*.ini") :
返回带指定扩展名的文件名。如果超过一个*.ini 文件存在,函数将返回按条件第一个找到的文件名。
5、wjm = Dir :
若第二次调用Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个*.ini 文件。
Dir函数
返回一个字符串String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
Dir[(pathname[, attributes])]
Dir 函数的语法具有以下几个部分:
pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到pathname,则会返回零长度字符串("")。
attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配pathname 但不包含属性的文件。
EXCEL的VBA用于同时显示目录文件夹和文件列表
2010-05-22 18:41
”VBA工具中要引用microsoft scipting runtime
Dim pt As Range
Sub 查找文件夹下子文件夹及其大小()
Dim theDir As String
Set pt = ActiveSheet.Range("a1")
pt.Worksheet.Columns(1).ClearContents '清除第一列
theDir = Application.InputBox ("输入指定文件夹的路径:", "查看子文件夹及其大小")
pt = theDir ‘列出选取的目录名
listPath theDir ’用于列出子目录和文件
pt.Worksheet.Columns("a:b").AutoFit
End Sub
Sub listPath(strDir As String)
Dim thePath As String
Dim strSdir As String
Dim theDirs As Scripting.Folders
Dim theDir As Scripting.Folder
Dim row As Integer
Dim s As String
Dim myFso As Scripting.FileSystemObject
Set myFso = New Scripting.FileSystemObject
If Right(strDir, 1) <> "\" Then strDir = strDir & "\"
thePath = thePath & strDir
row = pt.row '此段为获取此目录下的文件名
s = Dir(thePath, 7) '获取第一个文件
Do While s <> ""
row = row + 1