首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

OfficeControl编程,该如何解决

2012-02-12 
OfficeControl编程* 设定Ole对象的属性:OlePropertyGet(propname)OlePropertySet(propname,value) 其中val

OfficeControl编程
* 设定Ole对象的属性: 
OlePropertyGet(propname) 
OlePropertySet(propname,value) 其中value是任何可以转换为Variant型的值 
  
* 调用Ole对象的方法: 
OleProcedure(OleProcName,[val,...]) 
OleFunction(OleFuncName,[val,...]) 
  其中val是任何可以转换为Variant型的值可以通过OleFunction(OleFuncName,[val,...])父对象返回其子对象,句法是:子对象名=父对象名. OleFunction(OleFuncName,val)。而且可以对此方法组合从父对象返回其下层对象的对象。 

例如:痕迹保留
OfficeControl->ActiveDocument.OlePropertyGet("Application").OlePropertySet("UserName",FUserName.c_str());
OfficeControl->ActiveDocument.OlePropertySet("TrackRevisions",true);
OfficeControl->ActiveDocument.OlePropertySet("PrintRevisions",true);
OfficeControl->ActiveDocument.OlePropertySet("ShowRevisions",true);

问题:
1.什么时候用OlePropertyGet、OlePropertySet、OleProcedure、OleFunction呢?
2.如何传递参数呢?
3.要插入批注
Selection.Collapse Direction:=wdCollapseEnd
ActiveDocument.Comments.Add Range:=Selection.Range, _
  Text:="review this"
如何用上面的四个属性、方法写呢

[解决办法]
第一个问题:
OlePropertyGet: 获取属性
OlePropertySet: 设置属性
OleProcedure: 运行一个过程(无返回值)
OleFunction: 运行一个函数(有返回值)

第二个问题:
参数用逗号隔开,放在过程名或函数名的后面

第三个问题,大概的代码(未测试):
OfficeControl->ActiveDocument.OleProcedure("Collapse", wdCollapseEnd);
OfficeControl->ActiveDocument.OleFunction("Add",
OfficeControl->ActiveDocument.OlePropertyGet("Range"),
"review this");

你先看看OfficeControl有没有Selection的属性?如果有,上面的代码需要修改。

热点排行