VBA打开其他Excel文件

前言

本节会介绍通过VBA实现打开其他excel文件,包括模糊匹配文件名称、循环同时打开多个文件,并获取工作表及工作簿进行数据操作后,对打开的文件进行保存并关闭操作。


一、打开固定文件名称的文件

场景说明:

1.新建一个宏文件VBA_Code.xlsm

2.与VBA_Code.xlsm文件在同一路径下有名为EmployeeInfo.xlsx的文件

3.需要将EmployeeInfo.xlsx的A1单元格写入当前日期值

示例代码

以下代码中,定义filePath 用来存放当前文件的路径,wswb分别用来存放工作表及工作簿对象

c 复制代码
Sub OpenTheFile()

    Dim filePath As String
    ' 定义工作表及工作簿数组
    Dim ws As Worksheet
    Dim wb As Workbook
    
    ' 定义该文件路径
    filePath = ThisWorkbook.Path
    ' 获取路径下所有文件,这里需要提供完整的文件路径
    Workbooks.Open filePath & "\EmployeeInfo.xlsx"
    
    ' 设置工作表及工作簿
    Set ws = ActiveWorkbook.Worksheets("Sheet1")
    ' 这里也可以通过工作表索引位置来设置,从1开始
    'Set ws = ActiveWorkbook.Worksheets(1)
    Set wb = ActiveWorkbook
    
    
    ' 写入当前时间值
    ws.Cells(1, "A").Value = Now()
    ' 保存并关闭
    wb.Save
    wb.Close
    
    
End Sub

二、模糊匹配文件名称

场景说明:

1.新建一个宏文件VBA_Code.xlsm

2.与VBA_Code.xlsm文件在同一路径下有名为EmployeeInfo202407.xlsx、Test202407.xls的文件

3.需要将EmployeeInfo202407.xlsx和Test202407.xls两个文件的A1单元格都写入当前日期值,但是文件名称中的日期不固定

示例代码

文件名称不固定,可以使用Like 搭配星号<*>进行模糊匹配。完整的代码如下:

c 复制代码
Sub OpenFile()

    Dim myFile As String
    Dim filePath As String
    ' 定义工作表及工作簿数组
    Dim wsE As Worksheet
    Dim wsT As Worksheet
    Dim wbE As Workbook
    Dim wbT As Workbook
    
    ' 定义该文件路径
    filePath = ThisWorkbook.Path
    ' 定义文件路径下的所有文件
    myFile = Dir(filePath & "\*.xls*")
    
    ' 循环处理所有文件
    Do While myFile <> ""
        ' 匹配Employee文件
        If myFile Like "Employee*" Then
            Workbooks.Open filePath & "\" & myFile
            Set wsE = ActiveWorkbook.Worksheets("Sheet1")
            Set wbE = ActiveWorkbook
        ' 匹配Test文件
        ElseIf myFile Like "Test*" Then
            Workbooks.Open filePath & "\" & myFile
            Set wsT = ActiveWorkbook.Worksheets("Sheet1")
            Set wbT = ActiveWorkbook
        
        End If
    Loop
    
    
    ' 写入当前时间值
    wsE.Cells(1, "A").Value = Now()
    wsT.Cells(1, "A").Value = Now()
    ' 保存并关闭
    wbE.Save
    wbE.Close
    
    wbT.Save
    wbT.Close
    
    
End Sub
相关推荐
开开心心就好19 小时前
绿色版PDF多功能工具,支持编辑转换
人工智能·windows·pdf·ocr·excel·语音识别·harmonyos
优选资源分享1 天前
资条生成器 V1.3 - 财务 HR 专属 Excel 工具
excel·实用工具
m0_502724951 天前
vue3在线预览excel表格
javascript·vue.js·excel
Java小王子呀1 天前
JAVA 导出Excel中添加下拉框用POI
java·excel
傻啦嘿哟2 天前
Python 操作 Excel 条件格式指南
开发语言·python·excel
jgyzl2 天前
2026.3.20 用EasyExcel实现excel报表的导入与导出
java·python·excel
Mr.45673 天前
Spring Boot 3 + EasyExcel 3.x 实战:构建高效、可靠的Excel导入导出服务
spring boot·后端·excel
如意机反光镜裸3 天前
excel怎么快速导入oracle
数据库·oracle·excel
开开心心就好3 天前
免费轻量级PDF阅读器,打开速度快
windows·计算机视觉·visualstudio·pdf·计算机外设·excel·myeclipse