如何用VBA提取.xlsm文件属性关键词至工作表实现版本控制?
可以用VBA获取文件摘要关键词并写入工作表
完全可以通过VBA实现这个需求,以下是具体的代码示例和操作说明:
VBA代码示例
Sub GetFileKeywordsToSheet() Dim filePath As String Dim keywordValue As String ' 获取当前工作簿的完整路径 filePath = ThisWorkbook.FullName ' 读取「摘要→关键词」字段内容 On Error Resume Next keywordValue = CreateObject("Shell.Application").Namespace(Left(filePath, InStrRev(filePath, "\"))).GetItem(filePath).ExtendedProperty("Keywords") On Error GoTo 0 ' 处理字段为空的情况 If keywordValue = "" Then keywordValue = "未设置版本号" End If ' 将版本号写入工作表指定单元格(示例为Sheet1的A1单元格) ThisWorkbook.Sheets("Sheet1").Range("A1").Value = "文件版本号:" & keywordValue End Sub
代码说明
ThisWorkbook.FullName:自动获取当前运行代码的xlsm文件路径,无需手动输入Shell.Application:调用Windows Shell组件读取文件的扩展属性,精准定位「摘要→关键词」字段- 加入错误处理避免字段为空时的报错,同时给出明确提示
- 你可以根据需求修改代码中的目标单元格(比如把
Sheet1和A1改成你需要的工作表和单元格位置)
操作步骤
- 打开你的xlsm文件,按下
Alt + F11打开VBA编辑器 - 在左侧工程窗口右键点击当前工作簿,选择「插入」→「模块」
- 将上述代码粘贴到模块窗口中
- 按下
F5运行代码,或者回到工作表添加按钮并绑定这个宏
内容的提问来源于stack exchange,提问作者VBA_trainee
相关产品推荐
相关产品推荐

