Excel图形到PowerPoint C++/来自HRESULT的CLI异常:0x800A03EC

Excel图形到PowerPoint C++/来自HRESULT的CLI异常:0x800A03EC,excel,c++-cli,powerpoint,office-interop,msdn,Excel,C++ Cli,Powerpoint,Office Interop,Msdn,我正在尝试复制excel图形,然后使用C++/CLI将它们粘贴到PowerPoint中,尽管在尝试使用copy()方法时遇到了困难。下面是我的代码的简化版本: Worksheet = dynamic_cast<Excel::Worksheet^>(WS[3]); chartObjects = dynamic_cast<Excel::ChartObjects^>(Worksheet->ChartObjects(paramMissing)); existingChart

我正在尝试复制excel图形,然后使用C++/CLI将它们粘贴到PowerPoint中,尽管在尝试使用copy()方法时遇到了困难。下面是我的代码的简化版本:

Worksheet = dynamic_cast<Excel::Worksheet^>(WS[3]);
chartObjects = dynamic_cast<Excel::ChartObjects^>(Worksheet->ChartObjects(paramMissing));
existingChartObject = dynamic_cast<Excel::ChartObject^>(chartObjects->Item(2));
existingChartObject->Copy();
shapeRange = Slide->Shapes->Paste();
那么就不会抛出异常。现在,如果我尝试做同样的事情,但是从图2而不是图1开始,我会抛出异常。像这样:

称这次尝试为两次

for(count = 2, count <= 6; ++count){
    Worksheet = dynamic_cast<Excel::Worksheet^>(WS[2]);
    chartObjects = dynamic_cast<Excel::ChartObjects^>(Worksheet->ChartObjects(paramMissing));
    existingChartObject = dynamic_cast<Excel::ChartObject^>(chartObjects->Item(count));
    existingChartObject->Copy();
    shapeRange = Slide->Shapes->Paste();
}
for(count=2,count ChartObjects(paramMissing));
existingChartObject=dynamic_cast(chartObjects->Item(count));
existingChartObject->Copy();
shaperage=幻灯片->形状->粘贴();
}
当我在第二次尝试时将鼠标悬停在
existingCharObject
上时,它不是空的,看起来与尝试1完全相同

为什么第二次尝试会抛出异常,而第一次不会?我应该能够复制我想要的任何excel图表对象?这迫使我从整个工作簿中的ChartObject 1开始,一路向上,不允许我随机复制ChartObjects

如果您需要更多信息,请告诉我。我不想把我的整个项目都放在这里,这是项目中唯一给我带来问题的部分

for(count = 2, count <= 6; ++count){
    Worksheet = dynamic_cast<Excel::Worksheet^>(WS[2]);
    chartObjects = dynamic_cast<Excel::ChartObjects^>(Worksheet->ChartObjects(paramMissing));
    existingChartObject = dynamic_cast<Excel::ChartObject^>(chartObjects->Item(count));
    existingChartObject->Copy();
    shapeRange = Slide->Shapes->Paste();
}