使用VBA设置Azure保护敏感度标签遇到的问题
解决VBA中无法访问Office.LabelInfo/SensitivityLabel对象的问题
要在Excel VBA中使用Office.LabelInfo和SensitivityLabel对象,你需要先启用对应的Office对象库引用,步骤如下:
- 打开VBA编辑器(按下
Alt+F11) - 点击顶部菜单栏的工具 → 引用
- 在弹出的「引用 - VBAProject」对话框中,找到并勾选Microsoft Office [版本号].0 Object Library(比如Office 365/2019对应16.0,Office 2016对应15.0,版本号随你的Office安装版本而定)
- 点击「确定」保存设置
另外注意你提供的代码存在一处适配错误:原代码用了Application.ActiveDocument(这是Word的文档对象),在Excel中应该替换为ActiveWorkbook或ThisWorkbook,修正后的可运行代码示例如下:
Sub SetLabelInfo() Dim myLabelInfo As Office.LabelInfo Set myLabelInfo = ActiveWorkbook.SensitivityLabel.CreateLabelInfo() With myLabelInfo .ActionId = "5cc46055-305d-4bc1-8f5f-5edf82231378" .AssignmentMethod = MsoAssignmentMethod.PRIVILEGED .ContentBits = 4 .IsEnabled = True .Justification = "Some justification needed only if downgrading label." .LabelId = "9203368f-916c-4d59-8292-9f1c6a1e8f39" .LabelName = "MyLabelName" .SetDate = Now() .SiteId = "6c15903a-880e-4e17-818a-6cb4f7935615" End With ' 应用标签设置,避免手动弹窗中断代码 ActiveWorkbook.SensitivityLabel.SetLabel myLabelInfo, myLabelInfo.Justification End Sub
补充说明:如果完成引用设置后仍无法访问对象,需确认你的Office版本支持敏感度标签功能(仅Office 365、Office 2019及后续版本提供该功能),且已正确安装相关组件。
内容的提问来源于stack exchange,提问作者M.Zayed
相关产品推荐
相关产品推荐

