Office Script脚本更新后重复运行报错问题咨询
Office Script 共享后重复报错的临时修复与排查方案
问题复现总结
- 脚本存储在服务账号OneDrive,已设置共享权限(表格权限持有者均可运行)
- 因调用外部API无法使用SharePoint
- 更新共享脚本后,首次打开表格运行正常,后续运行触发报错:
Office Script Error: The button cannot run because the script was unshared. Contact the owner to share it again
- 关闭并重新打开表格可再次运行一次,之后点击或自动化面板运行均报错
- 暂未尝试移除并重新添加脚本,担心破坏现有链接
临时修复方案(无需移除现有脚本链接)
刷新脚本权限缓存
- 打开表格后,进入「自动化」面板,找到对应的脚本,点击脚本名称右侧的「...」菜单,选择「查看脚本」
- 在脚本编辑器中,点击顶部的「共享」按钮,重新确认共享设置(无需修改,点击确认即可)
- 关闭脚本编辑器,回到表格,尝试多次运行脚本,验证是否仍报错
重置Excel会话缓存
- 除关闭表格外,可尝试:
- 打开Excel的「文件」>「选项」>「信任中心」>「信任中心设置」>「受信任位置」,确认服务账号OneDrive的路径已添加为受信任位置
- 关闭所有Excel窗口,打开任务管理器结束所有
EXCEL.EXE进程,再重新打开表格运行脚本
- 除关闭表格外,可尝试:
脚本版本回滚测试
- 在脚本编辑器中,点击「版本历史记录」,选择更新前的正常版本,恢复并重新共享
- 测试该版本是否仍出现相同报错,以此排查是否是更新后的脚本内容触发了权限异常
深层排查方向
- 检查脚本更新内容:确认更新的代码中是否包含涉及文件访问、权限变更的逻辑(比如修改OneDrive文件属性的API调用),这类操作可能意外触发共享权限的隐性变更
- 服务账号权限验证:用服务账号登录OneDrive,检查脚本文件的共享权限是否仍保持「拥有表格权限者均可运行」,确认没有被自动重置
- Excel缓存目录清理:手动清理Excel的缓存文件(路径一般为
C:\Users\[你的用户名]\AppData\Local\Microsoft\Office\16.0\OfficeFileCache),避免旧的权限缓存干扰
内容的提问来源于stack exchange,提问作者Kapow36
相关产品推荐
相关产品推荐

