VBA学习笔记(3)--文件夹操作

说明(2017.3.22):

1. 根据兰色幻想VBA80集视频教学,总结

2. 大部分可以用自带函数处理,不过复制文件夹需要用到FileSystemObject对象,打开文件夹用到shell

复制代码
 1 Public Sub test1()
 2 '1. 判断文件夹是否存在,dir第二个参数为vbDirectory,不然只判断文件是否存在
 3     If Dir(ThisWorkbook.path & "1.docx", vbDirectory) = "" Then
 4         MsgBox ("不存在")
 5     Else
 6         MsgBox ("存在")
 7     End If
 8 End Sub
 9 
10 Public Sub test2()
11 '2. 新建文件夹mkdir
12     MkDir (ThisWorkbook.path & "233")
13 End Sub
14 
15 Public Sub test3()
16 '3. 删除文件夹,rmdir,只能删除空文件夹,如果要删除所有文件要先用kill删除里面所有文件
17     RmDir (ThisWorkbook.path & "233")
18 End Sub
19 
20 Public Sub test4()
21 '4. 重命名文件夹和文件,name,这个方法不能加括号
22     Name ThisWorkbook.path & "233" As ThisWorkbook.path & "23333333"
23     Name ThisWorkbook.path & "1.docx" As ThisWorkbook.path & "2.docx"
24 End Sub
25 
26 Public Sub test5()
27 '5. 移动文件夹,name,可以连里面的文件一起移动
28     Name ThisWorkbook.path & "2" As ThisWorkbook.path & "123333333"
29 End Sub
30 
31 Public Sub test6()
32 '6. 复制文件,filecopy,后面的目的地要带上文件名,但是这个不能复制文件夹
33     FileCopy ThisWorkbook.path & "1.docx", ThisWorkbook.path & "11.docx"
34     
35 End Sub
36 
37 Public Sub test7()
38 '7. 复制文件夹和内部所有文件,用到FileSystemObject,要先引入Microsoft Scripting Runtime
39 'copyfolder复制文件夹,copyfile复制文件,只需要路径,不需要文件名,还可以顺便改名
40     Dim fso As FileSystemObject
41     Set fso = New FileSystemObject
42 '    fso.CopyFolder ThisWorkbook.path & "2", ThisWorkbook.path & "13"
43     fso.CopyFile ThisWorkbook.path & "1.docx", ThisWorkbook.path & "12.docx"
44     MsgBox "已复制"
45 End Sub
46 
47 Public Sub test8()
48 '8. 打开文件夹,shell,真的就是打开文件夹,弹出来一个窗口!第二个参数,数字1是打开并显示,2是打开并最小化,3是打开最大化
49     Shell "explorer.exe " & ThisWorkbook.path & "1", 1
50 End Sub
复制代码
原文地址:https://www.cnblogs.com/medik/p/10989727.html