VB.NET 关闭 Chartdata 工作簿

VB.NET Closing Workbook of Chartdata

希望大家平安健康!

我想做什么: 使用 VB.NET 我打开一个 Powerpoint 模板并更新位于该模板中的图表。 奇怪的是,直到最近,它还运行良好,但让我们暂时忘记它。

问题出在哪里?: 问题开始,任务结束的地方 -> 在我完成更新后,我似乎无法关闭 chartData 的工作簿。 我收到以下错误消息:

System.Runtime.InteropServices.COMException:HRESULT 的卓越:0x800A03EC

我的代码(简化)看起来像这样:(错误出现在代码底部)

'Preparing the Variables
Dim j As Integer
Dim slide = pp.Slides(1)
Dim shape = slide.Shapes
slide = pp.Slides(5)
shape = slide.Shapes
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim chart As PowerPoint.Chart

'Prepare the Chart
chart = shape.Item("Diagramm 13").Chart
'Access the ChartData
chart.ChartData.Activate()
wb = CType(chart.ChartData.Workbook, Excel.Workbook)
ws = CType(wb.Sheets(1), Excel.Worksheet)
ws.UsedRange.ClearContents()

wb.Close()     '<--This is where it stops and throws a 
               '"System.Runtime.InteropServices.COMException: HRESULT: 0x800A03EC" Exception
wb = Nothing

我已经尝试过的:

你知道这里出了什么问题吗? 这里是 如果需要,我可以提供更多信息!

感谢您的帮助和时间,

最好的, 亚历克斯

更新:

我今天早些时候创建了一个版本,因为我没想到会出现这些问题。当我当时正在修复它们时,我的一位同事实际上能够 运行 没有错误地发布......我现在完全困惑了。这么简单的代码真的会因为我电脑上的一些随机更新而停止工作吗?

我遇到了同样的问题(在 C# 中)。

正在替换...

wb.Close()

...与...

wb.Application.Quit() 

...解决了我的问题!

遗憾的是我无法尝试 Marco Hönsch 提供的建议。

我重新安装了 Office 并将其从 Office 16 升级到 Office 19。 代码立即再次生效。 遗憾的是,我无法提供准确的答案,因为它可能是损坏的办公室,导致了这个错误。或者是office版本本身的问题

不管怎样,现在都可以了。