閑論Visual Studio 2010 Office開(kāi)發(fā)
Visual Studio有很多值得學(xué)習(xí)的地方,這里我們主要介紹Visual Studio 2010 Office開(kāi)發(fā),包括介紹Office對(duì)象模型等方面。本人很喜歡Visual Studio,在工作中也很喜歡總結(jié)關(guān)于XX的經(jīng)驗(yàn)教訓(xùn),下面就這個(gè)問(wèn)題來(lái)詳細(xì)說(shuō)說(shuō)吧。一位漂亮的OL把Word當(dāng)做文字處理軟件來(lái)使用,這無(wú)可厚非;但是如果一位帥氣的Developer也僅僅把Word當(dāng)做文字處理軟件來(lái)使用,恐怕會(huì)被同行恥笑。在程序員的眼中,Office不僅僅是一套非常流行的辦公軟件,更是一個(gè)成熟的開(kāi)發(fā)平臺(tái)。
#t#Office的應(yīng)用是如此廣泛,幾乎深入到企業(yè)信息化和個(gè)人文檔處理的每個(gè)角落。通過(guò)Visual Studio 2010 Office開(kāi)發(fā),可以幫助企業(yè)或者個(gè)人完成很多重復(fù)性的工作,規(guī)律性的工作甚至創(chuàng)造性的工作,正是因?yàn)槿绱?,Office開(kāi)發(fā)在軟件開(kāi)發(fā)中顯得越來(lái)越重要,已經(jīng)成為商業(yè)軟件開(kāi)發(fā)的一個(gè)重要領(lǐng)域。
為了支持Office開(kāi)發(fā),無(wú)論是從上層的二次開(kāi)發(fā)語(yǔ)言VBA,還是底層的Office開(kāi)發(fā)工具VSTO(Visual Studio Tools for Office),微軟都給予了大力的支持。我們這里按下VBA不表,單說(shuō)這Visual Studio 2010 Office開(kāi)發(fā)的支持。
有道是“櫻桃好吃樹(shù)難栽,Office好用開(kāi)發(fā)難”。做過(guò)Office開(kāi)發(fā)的程序員常常會(huì)有這樣的抱怨:
“這個(gè)垃圾C#,連個(gè)可選參數(shù)都不支持!”
“COM接口太復(fù)雜繁瑣啦,我都快被折磨死了!”
“告訴客戶(hù),他的機(jī)器上必須也安裝Office 2003!Office 2007不支持?。。。?!”
這是因?yàn)镺ffice整個(gè)系統(tǒng)本身非常龐雜,Office對(duì)象模型難于全部掌握,開(kāi)發(fā)語(yǔ)言對(duì)Office開(kāi)發(fā)支持不夠等等,這些都使得Office開(kāi)發(fā)就像一頭笨重的大象,雖然穩(wěn)定,但是行動(dòng)卻有些遲緩,開(kāi)發(fā)效率不高。
不過(guò)這些抱怨很快就會(huì)成為歷史了。在Visual Studio 2010 CTP中,它提供了很多新的特性,來(lái)解決上述的這些Office開(kāi)發(fā)中的主要問(wèn)題,以更好地支持Office開(kāi)發(fā)。當(dāng)然,這些特性也可以應(yīng)用在其他場(chǎng)合。這些新的特性包括:
◆動(dòng)態(tài)編程
在前面的文章中我們?cè)?jīng)介紹過(guò),C# 4.0中引入了一種新的靜態(tài)類(lèi)型dynamic,這使得我們?cè)谑褂肅OM進(jìn)行Office開(kāi)發(fā)的時(shí)候,無(wú)需再進(jìn)行復(fù)雜而繁瑣的對(duì)象類(lèi)型轉(zhuǎn)換。
◆可選參數(shù)
Office提供的函數(shù)往往有很多參數(shù),在大多數(shù)情況下,很多參數(shù)使用默認(rèn)值就可以了,無(wú)需全部指定。但是在C# 3.0中,因?yàn)樗恢С挚蛇x參數(shù),導(dǎo)致每次調(diào)用函數(shù)都必須給定全部參數(shù),代碼繁瑣而臃腫。C# 4.0通過(guò)對(duì)可選參數(shù)的支持,很好地解決了這一問(wèn)題。
◆No-PIA部署
以前的Office開(kāi)發(fā),都要求目標(biāo)機(jī)器(用戶(hù)機(jī)器)上同樣安裝了Office,有時(shí)甚至對(duì)Office的版本還有特殊的要求。這給Office程序的部署帶來(lái)了極大的困難:目標(biāo)機(jī)器千差萬(wàn)別,有的安裝了Office,有的沒(méi)有安裝,安裝了Office的機(jī)器,Office版本又各不相同。在Visual Studio 2010中,因?yàn)橛辛薔o-PIA部署的支持,這些問(wèn)題都得到了很好的解決。
有了上述特性的支持,Visual Studio 2010 Office開(kāi)發(fā)開(kāi)始變得簡(jiǎn)潔而自然。