VBA中打开、保存关闭Excel工作簿的方法

前言

本节会介绍使用VBA方法打开Excel工作簿、保存关闭Excel工作簿的方法,分别会用到Open、Save、Close方法的使用。


1.使用Open方法打开工作簿

Workbooks.Open(FileName,UpdateLinks,ReadOnly,Format,Password,WriteResPassword,Ignore-ReadOnlyResommended,Origin,Delimiter,Editable,Notify,Converter,AddToMru,Local,Corrupt-Load)
虽参数较多,但只有FileName为必填参数,表示需要打开的工作簿文件名,关于参数说明请参考下表:

参数 说明
FileName 需要打开的工作簿的文件名,需要文件的绝对路径
UpdateLinks 指定工作簿中的外部引用(链接)的更新方式。可取的值为0或3,分别表示打开工作簿时不更新外部引用、打开工作簿时更新外部引用
ReadOnly 为True时表示以只读方式打开工作簿
Format 当打开文本文件时,用该参数指定分隔符。可取的值有1(制表符)、2(逗号)、3(空格)、4(分号)、5(无)、6(自定义字符,由Delimiter参数进行指定)
Password 如果要打开的工作簿设置了打开密码,用该参数给出密码。如果设置了密码但没有填该参数,则会弹出对话框提示用户输入密码
WriteResPassword 如果要打开的工作簿设置了保护结构的密码,用该参数给出对应密码
IgnoreReadOnlyRecommended 为True时表示不显示只读建议的信息
Origin 当打开文本文件时,用该参数指示该文件来源于何种操作系统,以正确处理代码页和回车/换行符。可取的值为常量xlMacintosh、xlWindows、xlMSDOS。
Delimiter 当打开文本文件时,如果Format参数设置为6,则用该参数指定作为分隔符的字符,如果设置多个字符,则会默认只取第一个字符
Editable 如果要打开的文件为Excel 4.0加载宏,则当该参数的值为True时,该加载宏为可见窗口;如果为False或忽略该参数,则加载宏以隐藏方式打开,且无法设为可见;该参数不能用于5.0及以上的版本。
Notify 当要打开的文件不能以可读写的模式打开时,如果该参数的值为True,则可将该文件添加到文件通知列表。Excel将以只读模式打开该文件并轮询文件通知列表,当该文件可用时会通知用户。如果该参数的值为False或省略时,则不请求任何通知,并且不能打开任何不可用的文件
Converter 打开文件时首先尝试使用的文件转换器的索引号。如果指定的文件转换器无法识别该文件,在尝试使用其他转换器。
AddToMru 如果该参数的值为True,则将该工作不添加到最近使用的文件列表中。默认为False
Local 如果该参数的值为True,则以Excel(包括控制面板设置)的语言保存文件,默认为False,则以VBA的语言保存文件。
CorruptLoad 可取的值为常量xlNormalLoad、xlRepairFile、xlExtractData,分别表示正常打开工作簿、尝试修复工作簿、尝试恢复工作簿中的数据。默认为xlNormalLoad
示例1:打开一个Excel工作簿
Sub OpenExcelFile()
    
    Dim strFileName As String
    ' 定义文件名称
    strFileName = "D:\VBA\Employee.xlsx"
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFileName
    
End Sub
示例2:打开当前路径下的Excel工作簿
Sub OpenExcelFile()

    Dim strFileName As String
    Dim strFilePath
    
    ' 定义文件名称
    strFileName = "Employee.xlsx"
    ' 获取当前路径
    strFilePath = ThisWorkbook.Path
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFilePath & "\" & strFileName
    
End Sub

2.保存关闭文件

当打开一个Excel工作簿,并对其内容进行操作后,想要保存并关闭时,可以使用Save以及Close方法。

示例:打开当前路径下的Employee.xlsx文件后,在Sheet1的A1单元格写入当前日期后,保存并关闭Employee.xlsx文件,完整的代码如下:
Sub WriteCurrentDate()
    
    ' 申明变量
    Dim strFileName As String
    Dim strFilePath
    Dim ws As Worksheet
    Dim wb As Workbook
    
    ' 定义文件名称
    strFileName = "Employee.xlsx"
    ' 获取当前路径
    strFilePath = ThisWorkbook.Path
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFilePath & "\" & strFileName
    
    ' 定义sheet1工作表对象以及当前打开的工作簿对象
    Set ws = ActiveWorkbook.Worksheets("Sheet1")
    Set wb = ActiveWorkbook
    
    ' A1单元格写入当前日期
    ws.Range("A1").Value = Date
    
    ' 保存并关闭文件
    wb.Save
    wb.Close
    
End Sub

相关推荐

  1. VBA打开保存关闭Excel工作簿方法

    2024-07-09 20:38:02       19 阅读
  2. ExcelVBA实现Outlook发送当前工作簿

    2024-07-09 20:38:02       26 阅读
  3. VBA冻结excel文件sheet1工作簿第一行

    2024-07-09 20:38:02       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 20:38:02       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 20:38:02       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 20:38:02       42 阅读
  4. Python语言-面向对象

    2024-07-09 20:38:02       53 阅读

热门阅读

  1. SQL基础

    SQL基础

    2024-07-09 20:38:02      16 阅读
  2. 如何在SpringCloud项目中实现客户端负载均衡?

    2024-07-09 20:38:02       25 阅读
  3. 深入理解 Docker 容器技术

    2024-07-09 20:38:02       29 阅读
  4. GCP FrontendConfig 详解:优化您的云负载均衡

    2024-07-09 20:38:02       28 阅读
  5. jdk1.8 ConcurrentHashMap 源码分析

    2024-07-09 20:38:02       26 阅读
  6. Android如何创建一个自定义回调接口(例3)

    2024-07-09 20:38:02       22 阅读
  7. mac上挂载linux目录

    2024-07-09 20:38:02       25 阅读
  8. 构建自己的docker基础镜像

    2024-07-09 20:38:02       19 阅读
  9. 每天10个vue面试题(一)

    2024-07-09 20:38:02       20 阅读
  10. Vue3框架搭建:vue+vite+pina+typescript

    2024-07-09 20:38:02       19 阅读