C++ Builder如何在Word中创建XML结点?

utin431 2009-01-04 12:39:48
下面这条语句是在Word中用VB实现的语句,如果在BCB中调用OLE控制,如何实现,我用过对象与方法的调用,结果提示"发生意外"?


ActiveDocuments.XMLNodes.ADD "标题" "FileMgr"

“标题”就是要添加的XML节点,FileMgr是命名空间。
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxsqs 2009-01-28
  • 打赏
  • 举报
回复
不懂,帮顶
indesigncs 2009-01-26
  • 打赏
  • 举报
回复
我也真学习这个,学习一下
utin431 2009-01-07
  • 打赏
  • 举报
回复
我的贴,我来回,没法结贴啊!

送分了,哪个来回复,我就把分送给他。
utin431 2009-01-05
  • 打赏
  • 举报
回复
问题已经有答案了。


Variant vWordApp, vXMLNode;
//添加XML节点
//vWordApp为当前创建的Word应用程序
vWordApp.OlePropertyGet("ActiveDocument").OlePropertyGet("XMLNodes")
.OleProcedure("Add",
"标题", //XML节点名
"FileMgr" //XML已存在的架构名,XML的命名空间
);


//另外增加一句关于设置节点内容的语句
int index;//XMLNodes集中,通过Item可以返回单个节点,index即为要返回的节点索引,第一个节点的索引值为1
vWordApp.OlePropertyGet("ActiveDocument")
.OleFunction("Range").OlePropertyGet("XMLNodes").OleFunction("Item", index);





总结:
1、VB中添加对象的过程一般调用对象方法OleFunction,适用于没用参数的情况下;如果带有参数,需要调用对象过程OleProcedure。
2、VB中使用对象的集合时,如果返回其中的单个对象,通过Item可以返回集中的单个对象。但集合要通过Range范围获取,否则系统会报错。
用法(Variant)V.OleFunction("Range").OlePropertyGet("Sets").OleFunction("Item", index);
其中Sets代表要从中返回单个对象的集合。
Range用到的时调用对象方法OleFunction。
常见的集合有Documents、Tables、Cells、Rows、Columns、Lines、Workbooks、Worksheets、Fields、Bookmarks、XMLNodes。
utin431 2009-01-04
  • 打赏
  • 举报
回复
居然没有回复。

看来,还得我自己钻研了。头大。

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧