![2a1e8b755db92e16bb4ddace5c68017b.png](https://img-blog.csdnimg.cn/img_convert/2a1e8b755db92e16bb4ddace5c68017b.png)
获取任意文件路径(标准打开)
Application.GetOpenFilename
获取文本文件路径(标准打开)
Application.GetOpenFilename("文本文件(*.txt), *.txt")
获取图片文件路径(标准打开)
Application.GetOpenFilename("图片文件(*.bmp;*.jpg),* bmp;*.jpg")
获取Excel工作簿路径(标准打开)
Application.GetOpenFilename("Excel工作簿(*.xls),*.xls")
获取图片文件路径(标准保存)
Application.GetSaveAsFilename("", "图片文件(*.bmp;*.jpg),*.bmp;*.jpg", , "图片")
搜索文件夹
With Application.FileSearch
.NewSearch
.LookIn="路径"
.FileType=msoFileTypeAllFiles/msoFileTypeExcelWorkbooks
.Filename="*.*"
.SearchSubFolders=True
If .Execute(SortBy:=msoSortByFileName) > 0 Then
n=.FoundFiles.Count
End If
End With
s=Dir("路径" & "")
i=0
Do While s <> ""
Cells(i + 1, 1)="路径" & s
s=Dir
i=i + 1
Loop
查找文件
Len(Dir("路径/文件名", vbDirectory)) > 0/<= 0
Set fso=New Scripting.FileSystemObject
fso.FileExists("路径/文件名")=True/False
CreateObject("scripting.filesystemobject").FileExists("路径/文件名")=True
复制文件
FileCopy "原路径/文件名", "新路径/文件名"
Set fso=New Scripting.FileSystemObject
fso.CopyFile "原路径/文件名", "新路径/文件名", overwritefiles:=True
CreateObject("scripting.filesystemobject").CopyFile "原路径/文件名", "新路径/文件名", overwritefiles:=True
移动文件
Name "原路径/文件名" As "新路径/文件名"
Set fso=New Scripting.FileSystemObject
fso.MoveFile "原路径/文件名", "新路径/文件名"
CreateObject("scripting.filesystemobject").MoveFile "原路径/文件名", "新路径/文件名"
删除文件
Kill "路径/文件名"
Set fso=New Scripting.FileSystemObject
fso.DeleteFile "路径/文件名"
CreateObject("scripting.filesystemobject").DeleteFile "路径/文件名"
更改文件名 Name "路径/原文件名" As "路径/新文件名"
文件信息
Dim fso As New FileSystemObject
With fso.GetFile("路径/文件名")
.Name
.ShortName
.Path
.Size / 1024
.Type
.DateCreated
.DateLastAccessed
.DateLastModified
.Drive
.ParentFolder
End With
文件基础名称
Set fso=New Scripting.FileSystemObject
fso.GetBaseName("路径/文件名")
文件扩展名
Set fso=New Scripting.FileSystemObject
fso.GetExtensionName("路径/文件名")
文件全名
Set fso=New Scripting.FileSystemObject
fso.GetFileName("路径/文件名")
文件所在的文件夹名
Set fso=New Scripting.FileSystemObject
fso.GetParentFolderName("路径/文件名")
文件所在的驱动器名
Set fso=New Scripting.FileSystemObject
fso.GetDriveName("路径/文件名")
文件最后修改时间 FileDateTime("路径/文件名")
文件大小 FileLen("路径/文件名")
设置文件属性
SetAttr "路径/文件名", x
x为:
vbNormal
vbReadOnly
vbHidden
vbSystem
vbArchive
查找文件夹
Len(Dir("路径", vbDirectory)) > 0/<= 0
Set fso=New Scripting.FileSystemObject
fso.FolderExists(myFolder)=True/False
CreateObject("scripting.filesystemobject").FolderExists(myFolder)=True/False
创建文件夹
MkDir "路径"
Set fso=New Scripting.FileSystemObject
fso.CreateFolder "路径"
CreateObject("scripting.filesystemobject").CreateFolder "路径"
复制文件夹
Set fso=New Scripting.FileSystemObject
fso.CopyFolder "路径/原文件夹名","路径/新文夹名", overwritefiles:=True
CreateObject("scripting.filesystemobject").CopyFolder "路径/原文件夹名","路径/新文夹名", overwritefiles:=True
移动文件夹
Name "原路径" As "新路径"
Set fso=New Scripting.FileSystemObject
fso.MoveFolder "原路径","新路径"
CreateObject("scripting.filesystemobject").MoveFolder "原路径","新路径"
删除文件夹
RmDir "路径"
Set fso=New Scripting.FileSystemObject
fso.DeleteFolder "路径", force:=True
CreateObject("scripting.filesystemobject").DeleteFolder "路径", force:=True
更名文件夹 Name "路径/原文件夹名" As "路径/新文夹名"
设置文件夹属性
SetAttr "路径/文件名", x
x为:
vbReadOnly
vbHidden
vbArchive
vbDirectory
当前文件夹名称 CurDir
特殊文件夹路径
CreateObject("scripting.filesystemobject").GetSpecialFolder(SpecialFolder:=SystemFolder).Path
CreateObject("scripting.filesystemobject").GetSpecialFolder(SpecialFolder:=TemporaryFolder).Path
CreateObject("scripting.filesystemobject").GetSpecialFolder(SpecialFolder:=WindowsFolder).Path
查找驱动器
CreateObject("scripting.filesystemobject").DriveExists("驱动器名")
驱动器信息
With CreateObject("scripting.filesystemobject").GetDrive("驱动器名")
.DriveType
返回值为:
0
1
2
3
4
5
.IsReady
.TotalSize
.AvailableSpace
.FreeSpace
.FileSystem
.VolumeName
磁盘序列号
With CreateObject("Scripting.FileSystemObject")
With .GetDrive(.GetDriveName(.GetAbsolutePathName("路径")))
MsgBox .serialnumber
End With