我在自己的程序里自动化word,向里面写入自己的表格、文本、位图,但是不知道怎样插入统计图表如饼状图等。
我看了宏语言里,是这样一句话,
Selection.InlineShapes.AddOLEObject ClassType:="MSGraph.Chart.8", _
LinkToFile:=False, DisplayAsIcon:=False
ShowVisualBasicEditor = True我不知道VC里函数AddOLEObject的参数ClassType该怎样写,请高手们不吝赐教!!或者高手有其他更好的方法也请分享出来,再次感谢!!
我看了宏语言里,是这样一句话,
Selection.InlineShapes.AddOLEObject ClassType:="MSGraph.Chart.8", _
LinkToFile:=False, DisplayAsIcon:=False
ShowVisualBasicEditor = True我不知道VC里函数AddOLEObject的参数ClassType该怎样写,请高手们不吝赐教!!或者高手有其他更好的方法也请分享出来,再次感谢!!
COleVariant vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
……
Selection oSelection;
oSelection = oApp.GetSelection();//oApp指你的word应用实例
InlineShapes oInlineShapes;
oInlineShapes = oSelection.GetInlineShapes();
oInlineShapes.AddOLEObject(COleVariant("MSGraph.Chart.8"), vOpt, false,
false, vOpt, vOpt, vOpt, vOpt);
但还是有点问题,提示我不能传递空的索引指针。我估计可能是最后一个参数的问题,没有位置信息。很想与你交流一下,我的QQ:4185026
如果你有这方面的例子或你自己的大作,能否分享一下呢? [email protected] 不胜感激!!!!
不知道你是怎么做的,怎么会提示你不能传递空的索引指针?我的qq:57736778
等问题结了后,一定厚礼送上。欢迎大家参与讨论啊!!
vFalse = COleVariant((short)false);
……Selection oSelection;
oSelection = oApp.GetSelection();//oApp指你的word应用实例
InlineShapes oInlineShapes;
oInlineShapes = oSelection.GetInlineShapes();
oInlineShapes.AddOLEObject(COleVariant("MSGraph.Chart.8"), vOpt, vFalse,
vFalse, vOpt, vOpt, vOpt, vOpt);//把原来的false换成vFalse
我现在有一个Range变量,但不知道怎么转化成最后一个参数
_Application WordApp; //代表WORD程序
Documents docs; //代表一个WORD程序里的所有文档
_Document doc,doc1 //代表一个文档
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
...
Shapes shs; //代表文档中的所有图形
shs=doc.GetShapes();
shs.AddPicture("skybox_bottom.bmp",covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional);
//如果想指定位置可以这样
//shs.AddPicture("skybox_bottom.bmp",covOptional,covOptional,covOptional,COleVariant((long)100),covOptional,covOptional,covOptional); 指定图片的左上角的y坐标为100,如果图片的宽和高不指定的话就会使用图片的原宽和高
COleVariant vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
va.vt=VT_DISPATCH ;///指明整型数据
va.pdispVal=r; ///赋值
inshapes.AddPicture(ss,covOptional, covOptional, &va );