System.Runtime.InteropServices.COMException HRESULT:0x800A03EC 对象图表粘贴

System.Runtime.InteropServices.COMException HRESULT : 0x800A03EC ObjectCharts Paste

我有这个代码

targetSheet = (Excel.Worksheet)excelWorkBook.ActiveSheet;
                        Excel.ChartObject myChart1 = targetSheet.ChartObjects("mco");       
                        myChart1.Copy();
                        Microsoft.Office.Interop.PowerPoint.ShapeRange shape2 = sld.Shapes.Paste();

                        Excel.Worksheet targetSheet2 = (Excel.Worksheet)excelWorkBook.ActiveSheet;
                        Excel.ChartObject myChart2 = targetSheet2.ChartObjects("txAnnul");
                        myChart2.Copy();
                        Microsoft.Office.Interop.PowerPoint.ShapeRange shape3 = sld.Shapes.Paste();

                        Excel.Worksheet targetSheet3 = (Excel.Worksheet)excelWorkBook.ActiveSheet;
                        Excel.ChartObject myChart3 = targetSheet3.ChartObjects("perceived");
                        myChart3.Copy();
                        Microsoft.Office.Interop.PowerPoint.ShapeRange shape4 = sld.Shapes.Paste();

当我只使用前两个图表时它工作正常并且我的 pptx 中有我的两个图表,但是当我添加第三个图表时 "myChart3" 我收到了我在本主题标题中提到的错误. 请问我该如何解决这个问题?谢谢

我解决了我的问题,方法是: myChart1.Chart.ChartArea.Copy(); 而不是 myChart1.Copy();。我不知道到底发生了什么,但我会调查以找出 chart.copy() 和 chart.chartarea.copy() 之间的区别。 希望这个解决方案可以帮助面临同样问题的人们。