问题描述
我在开发PPT里的Chart里的数据的读写,读写的是chartdata.workbook.sheets[1]现在的问题是:如果不调用chartdata.Activate()方法,对chartdata.workbook的数据读写就会报错chartdata.Workbook.Application.Visible=false;这样写也会报错报错都是"对COM组件的调用返回了错误HRESULTE_FAIL"如果调用chartdata.Activate(),读写时不会报错,但是Excel的窗口会显示如果再加上这句话:chartdata.Workbook.Application.Visible=false;Excel的窗口就会一闪一闪的;一个很纠结的问题,,,求帮帮忙啊!谢了
解决方案
解决方案二:
for(inti=0;i<presentation.Slides.Count;i++){PowerPoint.Slideslide=pres.Slides[i+1];for(intj=0;j<slide.Shapes.Count;j++){if(slide.Shapes[j+1].HasChart==Microsoft.Office.Core.MsoTriState.msoTrue){PowerPoint.ChartDatachartdata=slide.Shapes[j+1].Chart.ChartData;chartdata.Activate();chartdata.Workbook.Application.Visible=false;//如果不加Active,到这就报错,加上的话就是Excel的界面一闪一闪的//chartdata.Workbook.Application.WindowState=Microsoft.Office.Interop.Excel.XlWindowState.xlMinimized;chartdata.Workbook.Application.ScreenUpdating=false;objecttemp=chartdata.Workbook.Sheets[1].Range("A1").Value2;}}}
解决方案三:
手动顶!!!
解决方案四:
我知道一个三方插件能够,楼主可参考它的代码,原理应该相同。
解决方案五:
那插件叫什么啊???
解决方案六:
引用4楼c781022的回复:
那插件叫什么啊???
项目不大的话用它的免费版吧,.
解决方案七:
把那段代码oChartData.Activate去掉,在播放ppt之前,先右键图表,选择编辑数据,然后再播放ppt,就好了
解决方案八:
请问楼主,我用C#编写程序用到shapes.addchart添加图表,但是会报错“对COM组件的调用返回了错误HRESULTE_FAIL”请问您是用什么方法在PPT中添加图表的?谢谢