- 系统环境 :Windows 10
- Excel :2016版本
这个系列集锦一些常用的功能模块,在一些项目中会穿插应用
功能模块中又包括很多子模块,本文涉及的是:文件及文件夹
今天讲讲Excel文件相关的一些操作
Part 1:通用类文件操作
- 判断 Excel 文件是否存在, If Dir(NewFileAddr) <> "" Then
Dir(文件绝对地址)与空字符串对比,可以判断任何文件是否存在,与文件格式无关
- Dir(CurrentDir & NewFolder, vbDirectory) <> "" 增加参数 vbDirectory 可判断文件夹存在与否
- 删除 Excel文件, Kill 绝对地址 ,这种方式可以删除任何文件
Part 2:Excel工作簿操作
- 新建 Excel工作簿,Workbooks.Add
Sub Excel文件操作()
'
CurrentDir = ThisWorkbook.Path & "\"
NewFileName = "测试文件.xlsx"
NewFileAddr = CurrentDir & NewFileName
If Dir(NewFileAddr) <> "" Then
MsgBox "文件重复"
Kill NewFileAddr
End If
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=NewFileAddr, FileFormat _
:=xlOpenXMLWorkbook, CreateBackup:=False
Set wb = ActiveWorkbook
wb.Save
wb.Close
End Sub
- 打开 已存在Excel工作簿: Set wb = Workbooks.Open(NewFileAddr)
- 复制 Excel文件: FileCopy NewFileAddr, NewFileAddr1
FileCopy 原绝对地址, 新绝对地址,也适用于其它格式文件
- 重命名 Excel文件: Name NewFileAddr As NewFileAddr1
Name 原绝对地址 As 新绝对地址,也适用于其它格式文件
- 格式转换 Excel文件:例如转换为pdf格式。另存为的所有 格式 都可以采用VBA实现,具体代码可以使用录制宏功能查看一下
sht3.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\【10】微信\【3】文章\2016.09.18\test2.pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
- 批量转换格式 : Sheets(Array("测试1", "测试2", "测试3")).Select ,利用Array数组批量选择
Sheets(Array("测试1", "测试2", "测试3")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\【10】微信\【3】文章\2016.09.18\test2.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
以上,为本次的介绍内容,下回见。
本文首发于微信公众号: Excel高效办公之VBA 。排版和细节略作修改,发于头条