如何设置Excel文件Tag属性为00并让单元格引用该值?
Excel文件Tag属性设置与单元格引用实现方案
需求可行性说明
你的需求完全可以实现,但无法直接通过Excel内置的普通单元格公式引用文件的Tag属性,需要借助VBA代码完成,以下是具体操作步骤:
步骤1:设置文件的Tag属性
手动设置方式
- 打开目标Excel文件,点击顶部菜单栏「文件」→「信息」
- 点击「属性」下拉菜单,选择「高级属性」
- 在弹出对话框切换到「摘要」选项卡,找到「标签」(对应英文Tag)输入框,填入「00」后点击「确定」
VBA自动设置方式
如果需要批量或自动设置,操作如下:
- 按
Alt+F11打开VBA编辑器 - 右键左侧工程窗口→「插入」→「模块」,新建一个代码模块
- 粘贴以下代码:
Sub SetFileTag() ' 设置当前工作簿的Tag属性为"00" On Error Resume Next ' 避免属性不存在的报错 ThisWorkbook.BuiltinDocumentProperties("标签").Value = "00" ' 英文Excel版本请替换为:ThisWorkbook.BuiltinDocumentProperties("Tags").Value = "00" On Error GoTo 0 End Sub
- 运行该宏即可完成属性设置
步骤2:将Tag属性值显示到A1单元格
方法1:自定义函数(实时更新)
- 在VBA编辑器的代码模块中,粘贴以下自定义函数:
Function GetFileTag() As String On Error Resume Next GetFileTag = ThisWorkbook.BuiltinDocumentProperties("标签").Value ' 英文Excel版本替换为:GetFileTag = ThisWorkbook.BuiltinDocumentProperties("Tags").Value On Error GoTo 0 End Function
- 返回Excel工作表,在A1单元格输入公式:
=GetFileTag(),即可显示Tag属性值「00」
注意:自定义函数需启用宏才能生效,文件需保存为
.xlsm或.xlsb格式(.xlsx格式会丢失宏)
方法2:Workbook_Open事件(打开文件自动写入)
这正是你提到的方案,操作如下:
- 在VBA编辑器左侧工程窗口中,双击「ThisWorkbook」对象
- 在顶部下拉菜单分别选择「Workbook」和「Open」,自动生成事件框架
- 在框架内粘贴代码:
Private Sub Workbook_Open() ' 将Tag属性值写入Sheet1的A1单元格,可根据实际工作表名称修改 On Error Resume Next Sheet1.Range("A1").Value = ThisWorkbook.BuiltinDocumentProperties("标签").Value ' 英文Excel版本替换为:Sheet1.Range("A1").Value = ThisWorkbook.BuiltinDocumentProperties("Tags").Value On Error GoTo 0 End Sub
- 保存文件为宏启用格式,下次打开文件时,A1单元格会自动加载Tag属性值
内容的提问来源于stack exchange,提问作者SamB
相关产品推荐
相关产品推荐

