BCB中通過OLE對Word中的XML節點設定

2021-04-24 00:33:01 字數 1595 閱讀 2255

xml技術是微軟公司提出來的標準,早在office中就已經支援,但實質性的使用是在office2003中,office 2007中實現了質的飛躍。

因為要做乙個專案,使用到word中的xml功能,通過office的vb自帶的幫助對xml的使用簡單地學習了一下,檔案實際過程中考慮了一些常見的例子。

在編制自動化客戶程式時使其標頭檔案要包含comobj.hpp和utilcls.h。

#include 

#include 

c++ builder開發者把excel自動化物件的功能包裝在下面的四個ole object class函式中,開發時可以很方便地進行呼叫。

設定物件屬性:variant olepropertyset(屬性名,引數……);

獲得物件屬性:void olepropertyget(屬性名,引數……);

呼叫物件方法:variant olefunction(函式名,引數……);

呼叫物件過程 void oleprocedure(過程名,引數……);

在使用過程中的預先設想達成的目的:

一、向新生成的文件中新增xmlnode節點,通過巨集操作得到新增節點的vb**:activedocument.xmlnodes.add "name","namespaceurl",其中name為節點的名稱,namespaceurl為要新增的節點的命名空間。

嘗試使用:

執行時程式提示「發生意外」,更改olefunction()為oleprocedure()仍然同樣問題。

二、想呼叫xmlnodes集的xmlnode節點,判斷該節點的name,根據name具體的內容給些節點的nodevalue賦值:

提示「發生意外」

解決方法:

//新增xml節點 

.oleprocedure("add", 

"標題",      //xml節點名 

"filemgr"

//xml已存在的架構名,xml的命名空間 

); //獲取xmlnodes集中的單個節點

//int index;//xmlnodes集中,通過item可以返回單個節點,index即為要返回的節點索引,第乙個節點的索引值為1 

.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。

BCB中接收郵件的例子

來自csdn的 onlyux 從name1 163.com裡取出郵件 label1 caption 正在連線伺服器.if nmpop31 connected nmpop31 disconnect nmpop31 attachfilepath nmpop31 deleteonread false nm...

BCB中AnsiSting類方法總結

bcb中ansisting類方法總結 ansistring類是bcb中最常見類之一,了解它對以後深入學習bcb大有幫助原來關於這個類的提出的問題有很多,現總結如下。加上我個人的經驗,湊出了一篇關於這個類的最常用方法屬性的介紹,希望能對各位有所幫助 常用方法 1.char c str 返回乙個字串指標...

BCB中AnsiString類方法總結

ansistring類是bcb中最常見類之一,了解它對以後深入學習bcb大有幫助原來關於這個類的提出的問題有很多,現總結如下。加上我個人的經驗,湊出了一篇關於這個類的最常用方法屬性的介紹,希望能對各位有所幫助 常用方法 1.char c str 返回乙個字串指標,他指向的內容和ansistring中...