国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

用OLE自動(dòng)化Outlook

2019-11-18 17:49:26
字體:
供稿:網(wǎng)友
OLEAutomation能夠讓你輕松的在你的應(yīng)用程序中引入像WordExcel等大型應(yīng)用軟件的功能。通過這些程序暴露在外部的編程接口(包括函數(shù)和方法等),你可以很容易的得到那些大型軟件的強(qiáng)的功能,大大的擴(kuò)展你的程序的實(shí)用性。

  當(dāng)然,我不會(huì)在這兒教你如何去編寫一個(gè)病毒程序,但是我會(huì)告訴你,如何利用OLE的強(qiáng)大功能來實(shí)現(xiàn)對(duì)Outlook的自動(dòng)化操作,比如自動(dòng)的發(fā)郵件,讀取新聞組等等。如果你確實(shí)對(duì)病毒更感興趣,寫好了也不要把它發(fā)布出來,否則對(duì)大家都沒有什么好處。

  什么是OLEAutomation?

  這兒可以給出一個(gè)OLEAutomation的一個(gè)很簡(jiǎn)單的例子:可以操作支持OLE特性的應(yīng)用程序暴露在外部的可編程對(duì)象的能力。大部分的這些可編程對(duì)象都被內(nèi)嵌在某種宏語(yǔ)言中,比如VBA,它就是一種使用在MicrosoftOffice應(yīng)用程序中的宏語(yǔ)言。

  VBA(VisualBasicforapplication)是VB的一個(gè)子集,所有的Office的最近的幾個(gè)版本都使用了OLEAutomation,所以你可以用VBA來操作幾乎每個(gè)Office應(yīng)用程序的每個(gè)部分。

  下面的這個(gè)VisualBasic函數(shù)可以用來在Outlook中新建一封郵件,要想使這個(gè)例子能夠正常的工作,你的電腦上必須安裝有Outlook97或更高版的Outlook。

  PublicFunctionCreateMessage()
  注釋:建立對(duì)Outlook中對(duì)象的引用
  DimobjOutlookAsNewOutlook.Application
  DimobjOutlookMsgAsOutlook.MailItem
  注釋:建立新郵件
  SetobjOutlookMsg=objOutlook.CreateItem(olMailItem)
  objOutlookMsg.Display
  SetobjOutlook=Nothing
  EndFunction

  首先,你必須告訴VisualBasic什么是“Outlook.Application”對(duì)象。所以你必須為你的應(yīng)用程序建立一個(gè)對(duì)Outlook對(duì)象庫(kù)的引用。你可以通過點(diǎn)擊VisualBasic的“工程”菜單中的“引用”菜單項(xiàng),然后選者M(jìn)icrosoftOutlook對(duì)象庫(kù)來實(shí)現(xiàn)這一點(diǎn)。這樣就告訴了VisualBasic在哪兒能夠找到OLE服務(wù)器。在這個(gè)例子中,OLE服務(wù)器就是Outlook,而客戶端就是你的VB應(yīng)用程序。

  上面的例子用到了一個(gè)稱為早期綁定(early-binding)的技巧來設(shè)置對(duì)對(duì)象的引用。與之相對(duì)的還有晚期綁定(late-binding),它設(shè)置對(duì)象引用的代碼如下所敘:

  PublicFunctionCreateMessage()
  DimobjOutlookAsObject
  DimobjOutlookMsgAsObject
  SetobjOutlook=CreateObject("Outlook.Application")

  基于以下的幾個(gè)原因,早期綁定在一般來說要筆晚期綁定要好一些:

  *早期綁定能夠讓你是用到VB的IntelliSense特性,它可以自動(dòng)的為你做對(duì)象的一般拼寫檢查,自動(dòng)列出相關(guān)對(duì)象的屬性和方法,以及諸方法的參數(shù)。這為你的編碼過程提供了很大的方便。

  *早期綁定運(yùn)行的速度要必晚期綁定快一些,因?yàn)椋唧w的內(nèi)存非配動(dòng)作是要到運(yùn)行時(shí)才動(dòng)態(tài)的分配。而且,當(dāng)把對(duì)象申明為一個(gè)Object的類型時(shí),VB并不能夠確定具體的對(duì)象類型,這樣,如果在其中引用了非法的屬性和方法,VB也不能夠報(bào)錯(cuò),造成運(yùn)行時(shí)錯(cuò)誤。

  雖然晚期綁定比早期綁定要慢而且不是很安全,但有時(shí)它又是必須的。在某些情況下,非要等到運(yùn)行時(shí)才能夠確定對(duì)象的類型,這兒后就非得使用晚期綁定不可了。但總的來說,能夠使用早期綁定的話就應(yīng)該盡量的使用。

  郵件列表

  在VB中有專門為郵件處理而編寫的控件,但我們?cè)谶@兒要拋棄他們。我們談?wù)摰氖荗LE。有了上面的那個(gè)例子作為引導(dǎo),用VB和Outlook來編制郵件列表的程序應(yīng)該是很簡(jiǎn)單的了。

  通過一個(gè)數(shù)據(jù)庫(kù)的協(xié)助,你可以很容易利用OLE實(shí)現(xiàn)一個(gè)郵件列表。VB支持大部分主流的數(shù)據(jù)庫(kù)格式,這兒你不妨就用access吧,在VB中可以用DAO來對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。DAO為你提供了一個(gè)比較友好的數(shù)據(jù)庫(kù)編程對(duì)象模型,可以用較少的代碼實(shí)現(xiàn)你想要的大部分功能。雖然它有一些局限性,但對(duì)于這樣的小應(yīng)用已是綽綽有余的了。因?yàn)樗彩且詫?duì)象庫(kù)的形式被VB所引用的,所以在使用它之前也必須在工程加上對(duì)其的引用。在開始之前,我們需要一個(gè)Access數(shù)據(jù)庫(kù),其中包含了郵件列表的客戶信息。數(shù)據(jù)庫(kù)的文件名為Contacts.mdb,內(nèi)有一個(gè)Contacts表。包含了關(guān)于客戶的姓名,電子郵件地址,城市等等信息,由于結(jié)構(gòu)比較簡(jiǎn)單,這兒就不列出了。

  新建一個(gè)VisualBasic標(biāo)準(zhǔn)EXE工程,然后為工程添加MicrosoftOutlook和MicrosoftDAO這兩個(gè)對(duì)象庫(kù)的引用,DAO對(duì)象庫(kù)能夠讓你操作Microsoft的Jet數(shù)據(jù)庫(kù)引擎。

  打開工程菜單,點(diǎn)擊Onthe
  SetDbs=Nothing
  SetRst=Nothing
  EndSub


  在你按下開始鍵之后,所有再數(shù)據(jù)庫(kù)中的客戶都被發(fā)送了一封確認(rèn)信,你可以通過檢查發(fā)件箱來發(fā)現(xiàn)這一點(diǎn)。

  最后,關(guān)于應(yīng)用程序的發(fā)布要做一點(diǎn)說明。如果你決定在你的應(yīng)用程序中使用諸如Outlook這樣的OLE服務(wù)器,你就必須考慮到,應(yīng)用程序的最終使用者可能并沒有在電腦中安裝Outlook,或者安裝的版本不符,這樣的話程序式不能夠運(yùn)行的。但是,你還是可以在你自己的電腦上開發(fā)一些Automation的程序,有時(shí)這會(huì)為你節(jié)約大量的時(shí)間和精力。->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 尉氏县| 乌审旗| 永昌县| 讷河市| 乐业县| 南召县| 武义县| 洪江市| 延安市| 江城| 兴和县| 平定县| 沈阳市| 丹棱县| 满城县| 温泉县| 麻江县| 达孜县| 景德镇市| 安宁市| 原平市| 醴陵市| 贞丰县| 海淀区| 济南市| 南昌县| 杭州市| 师宗县| 松滋市| 怀集县| 衡山县| 吉林市| 曲阳县| 贵阳市| 蛟河市| 莱阳市| 合山市| 成安县| 石门县| 四会市| 拜泉县|