十:使用其他對象開啟CDO對象 可以使用datasource
openobject方法由其他記憶體中的對象打開CDO對象
而記憶體中的對象可以是其他CDO對象或是其他函數庫的對象
比如ADO
openobject方法的語法如下:
openobject(soure as Unknown
InterfaceName as String)
Source:被要打開的對象所參照的已打開對象
例如一個ado record或一個已開啟的電子郵件
通常是一個對象變量
InterfaceName:source所公開的介面名稱字串
例如
假使source是電子郵件的bodypart對象
則InterfaceName就是BodyPart
這個參數區分大小寫
為什麼會使用該方法:
當我們已經使用recordset對象來浏覽WEB存儲系統的時候
可能使用Connection對象執行SQL查詢來篩選所需要的項目
有或是批次的建立新項目
但是可能需要使用CDO來設定對象指定的屬性
如果要修改使用openobject方法開啟的CDO對象
需要使用DataSource
savetoobject方法將變更儲存回parent對象
儲存時傳遞openobject方法相同的參數給savetoobject方法
檢查文件夾或項目是否存在:
使用ADO record的open方法
打開欲檢查的URL
若成功打開
說明此URL已經有相同的資源
若不能打開
則說明資源或項目不存在
十一:使用CDO建立文件夾 使用CDO建立新的文件夾的時候
要建立新的CDO Folder物件
然後設定您希望其運作方式的相關屬性
假如知道你要設定文件夾保存特定形態的項目
便要設定ContentClass屬性為其中一個事先定義的內容類別
若要文件夾也可以被MAPI的用戶端所使用
則要設定屬性
假如有調用fields集合對象來設定屬性
要先調用update方法
再使用saveto方法保存
如果要刪除一個文件夾或項目需要調用record的deletereocrd方法
十二:使用文件夾接收電子郵件 當一個文件夾被建立時
預設並不能通過SMTP接受郵件
必須要明確地開啟文件夾來接受電子郵件
CDO的IMailRecipient介面的MailEnable方法可以達到這個目的
exchange會自動指定一個電子郵件地址給文件夾
如果在建立文件夾的同時就要開啟文件夾接收電子郵件的功能的話
要先儲存剛剛創建的文件夾
然後再調用MailEnable方法
如果使用已存在的文件夾
則不需要再將其存儲一遍
例程:
set fl=createobject(
cdo
folder
)
url=file://
/backofficestorage/oaserver
exchange/
set rcp=fl
getinterface(
IMailRecipient
)
fl
datasource
save
set fl=nothing set rcp=nothing
計算文件夾中的內容:
使用ADO計算文件夾中的資源的時候
必須要浏覽整個文件夾
這種方式忽視資源的內容是項目還是文件夾
而且當資源數量龐大時
會給服務器帶來相當大的負荷
使用CDO可以避免程序中有不明確的狀況發生
以及造成服務器負載過重
Folder對象提供三種計算文件夾內容的屬性:
ItemCount:該屬性計算文件夾中所有不包含子文件夾的項目的數量
Unread ItemCount:該屬性只計算未被標記為已讀取的項目數量
VisableCount:該屬性只計算那些使用者可見並可存取的項目
忽略可能存儲於文件夾中的系統隱藏項目
From:http://tw.wingwit.com/Article/os/fwq/201311/10271.html