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

时间:2017-06-14 07:35:23

标签: c# excel-interop

我有这段代码

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中有两张图表,但是当我添加第三张图表时,#34; myChart3"我收到了本主题标题中提到的错误。 知道我怎么能这样做呢?谢谢

1 个答案:

答案 0 :(得分:1)

我解决了我的问题,使用: myChart1.Chart.ChartArea.Copy();代替 myChart1.Copy();。我不知道究竟发生了什么,但我会调查一下,找出chart.copy()和chart.chartarea.copy()之间的区别。 希望这个解决方案能够帮助那些面临同样问题的人们。