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

无法删除OneDrive/SharePoint文件:遇XML错误207(423文件锁定)

SharePoint/OneDrive Excel文件删除时随机触发423锁定问题

问题概述

我开发了一款处理SAP导出XLSX文件的工具,核心操作流程为:

  • 以ReadOnly=True打开源文件
  • 复制目标工作表到工具工作簿
  • 以SaveChanges=False关闭源文件
  • 执行删除操作

本地使用Kill命令操作完全正常,但当源文件存储在OneDrive/SharePoint时,会随机出现删除失败的情况,触发XML错误207,响应文本返回HTTP 423(文件已锁定)。

注:直接将源文件复制到同步文件夹后不打开就删除(通过HTTPS操作),每次都能成功;但执行「打开/复制/关闭」流程后,就会随机触发锁定问题。

错误响应详情

Response: <?xml version="1.0" encoding="utf-8" ?><D:multistatus  xmlns:D="DAV:" xmlns:Office="urn:schemas-microsoft-com:office:office" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:Z="urn:schemas-microsoft-com:"><D:response><D:href>https://MyCompany.sharepoint.com/sites/pwa2/Customer/E/E12%20Supply%20Chain/PROCUREMENT/0_ZPSR313/export.xlsx</D:href><D:status>HTTP/1.1 423 Locked</D:status></D:response></D:multistatus>

出现该问题后,多数情况下无法直接从SharePoint文件夹删除文件,系统提示「文件已被其他用户签出或锁定」(测试时仅我一人访问),唯一临时解决方法是用桌面Excel打开该文件再关闭,即可解锁。

相关代码片段

注释以下代码后,即可正常删除在线文件:

Set source_workbook = Workbooks.Open(SelectedFile, ReadOnly = True)
FlPath = source_workbook.Path

'    source_workbook.Windows(1).Visible = False

source_workbook.Sheets(1).Copy before:=ThisWorkbook.Sheets(1)
WaitForm.StepLbl.Caption = "Waiting for raw ZPSR313 to close"
DoEvents

source_workbook.Close (False)

已尝试的无效方案

  • 改为以ReadOnly=False打开文件
  • 将源文件另存到本地临时文件夹后再处理
  • 删除前调用Application.Wait等待一段时间
  • 删除本地同步的文件副本(但在线文件仍处于锁定状态)

源文件无外部链接及宏,请问如何彻底避免该锁定问题?


内容的提问来源于stack exchange,提问作者Michaël

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:38:27