「Excel-VBA」功能模块-文件及文件夹-05-Excel文件的操作

  • 系统环境: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。排版和细节略作修改,发于头条

原文链接:,转发请注明来源!