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
相关推荐
昵称画1 天前
POC验证怎么设计用例?不走过程的实操要点
大数据·数据库·人工智能·低代码·excel
Wang's Blog1 天前
Vibe Coding一人即团队系列62: Excel数据分析与可视化自动化
数据分析·自动化·excel
统计学小王子1 天前
数学建模国赛倒计时5天——《软件工具(Excel)——国赛数据处理的第一道防线》
数学建模·excel
Am-Chestnuts1 天前
用 DS随心转 把 AI 对话里的多组数据批量导出成 Excel
人工智能·excel
2601_960356381 天前
库存分析岗位秋招准备:SQL、Excel、WMS与供应链指标
数据库·sql·excel
统计学小王子2 天前
数学建模国赛倒计时5天——《软件工具(Excel)——快捷键总结》
数学建模·excel
2601_963906782 天前
网页版 Excel 合并工具
excel·软件需求
疯狂小猫咪2 天前
中小培训机构教务数字化踩坑复盘|从 Excel 过渡到教务系统经验总结
小程序·excel
开开心心_Every2 天前
实现鼠标键盘动作录制与重复播放的工具
微信·jupyter·pycharm·pdf·计算机外设·word·excel
智途 Tech2 天前
2026年分析多个Excel、CSV和网页数据的AI工具清单:Tabbit 浏览器多源引用
大数据·人工智能·excel