You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VBA仅在Excel文件首次创建时添加文件创建日期

实现Excel文件首次打开时仅写入一次创建日期的VBA方案

要实现仅在文件首次创建(复制粘贴或另存为后)写入一次创建日期,核心思路是先检查目标单元格是否已有内容,仅为空时才执行写入操作,同时把逻辑绑定到工作簿的打开事件中,具体实现步骤如下:

操作步骤

  1. 按Alt+F11打开VBA编辑器,找到当前工作簿的ThisWorkbook对象并双击打开代码窗口。
  2. 替换或写入以下代码:
Private Sub Workbook_Open()
    Dim hiddenSheet As Worksheet
    Dim targetCell As Range
    Dim creationDate As Date
    Dim oFS As Object
    
    ' 替换为你的隐藏工作表名称和指定单元格
    Set hiddenSheet = ThisWorkbook.Worksheets("隐藏数据")
    Set targetCell = hiddenSheet.Range("A1")
    
    ' 仅当目标单元格为空时执行写入
    If IsEmpty(targetCell.Value) Then
        Set oFS = CreateObject("Scripting.FileSystemObject")
        creationDate = oFS.GetFile(ThisWorkbook.FullName).DateCreated
        Set oFS = Nothing
        
        ' 写入日期,可根据需求调整格式
        targetCell.Value = creationDate
        ' 可选:设置单元格格式
        ' targetCell.NumberFormat = "yyyy-mm-dd"
    End If
End Sub

代码说明

  • 判断逻辑:通过IsEmpty(targetCell.Value)检查指定单元格是否为空,避免每次打开文件重复写入。
  • 获取创建日期:复用你原有的文件系统对象逻辑,准确获取文件的创建时间。
  • 目标定位:请将"隐藏数据"和"A1"替换为你实际的隐藏工作表名称和目标单元格地址。

注意事项

  • 保存文件时需选择启用宏的格式(如.xlsm或.xlsb),否则宏会失效。
  • 若隐藏工作表受保护,需先解除保护再写入,写入后可重新保护(可在代码中添加保护/解除保护逻辑)。

内容的提问来源于stack exchange,提问作者user1706426

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 22:27:19