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

Microsoft 365商业高级版下Excel VBA Permission.Add方法报错求助

解决Office 365商业高级版中Excel宏权限添加失败问题

问题场景

我有一段用于给Excel文件分配用户权限的VBA宏,此前用大学Office账号运行完全正常。切换到新购买的Microsoft 365商业高级版账号(组织内仅我一个用户)后,运行宏时触发错误:
Run-time error '-2147023727 (80070491)':
Method 'Add' of object 'Permission' failed

宏代码如下:

Sub Add_Permission() 
 
Dim objUserPerm As Office.UserPermission 
Set objUserPerm = ActiveWorkbook.Permission.Add("test@test.com", msoPermissionChange) 
  
Application.DisplayAlerts = False 
Application.EnableEvents = False 
  
ActiveWorkbook.SaveAs Filename:= _ 
        "C:\Users\Admin\Desktop\" + "order_id_1" + "output_file.xlsx" _ 
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
         
Application.DisplayAlerts = True 
Application.EnableEvents = True 
 
End Sub

解决方向

排查方向1:确认Azure Rights Management (ARM) 服务状态

  • 登录Microsoft 365管理中心,进入设置>信息保护>Azure信息保护,确认服务处于启用状态。未启用则手动开启,等待15-30分钟后测试宏。
  • 进入用户>活动用户找到你的账号,查看许可证和应用,确认已分配包含Azure Rights Management的许可证(Microsoft 365商业高级版默认包含,但需确保分配到位)。

排查方向2:检查本地Office信息保护设置

  • 打开Excel,进入文件>选项>信任中心>信任中心设置>隐私选项,确认启用信息保护已勾选,同时避免受保护的视图过度限制权限操作。
  • 重启Office应用,确保Azure端的策略设置同步到本地客户端。

排查方向3:测试手动添加权限的可行性

  • 打开目标Excel文件,进入文件>信息>保护工作簿>限制访问,手动尝试添加用户权限。如果手动操作也失败,说明问题根源不在VBA代码,而是系统权限配置问题。
  • 验证test@test.com的有效性:如果是外部用户,需在Azure AD中配置外部协作权限,允许添加外部用户的文档访问权限;如果是内部用户,确认账号在组织内正常存在。

排查方向4:修复Office安装

  • 打开控制面板>程序>程序和功能,找到Microsoft 365,选择更改>在线修复,完成修复后重启电脑,再测试宏运行情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:52:15