VS2010中不可忽视的部分——VSTO
今天是Visual Studio 2010正式發(fā)布的日子,剛剛看了相關(guān)的新聞和介紹,感覺上相比Visual Studio 2008來說,又有了不少新的改變和創(chuàng)新,不管是炒作概念也好,炒作想法也罷,但都是想法設(shè)法地為我們這些辛苦的程序員們節(jié)省了時(shí)間,提高了效率。
在發(fā)布會(huì)上,似乎更多的時(shí)間用來介紹最近最為流行的一些概念,像云產(chǎn)品Azure,還有在Visual Studio 2010中可以使用的敏捷方法等等,這些特性的確很好,但都有個(gè)特點(diǎn),就是更多貼近的是我們這些程序員,這也難免,畢竟Visual Studio 2010本身就是一個(gè)開發(fā)工具。
然而,我覺得其中還有一個(gè)不可忽視的組成部分,那就是VSTO(Visual Studio Tools for Office),這個(gè)針對(duì)Office開發(fā)的工具,從最初的1.0,到后來的2.0,再到VS 2008中的3.0,一步一步地走到現(xiàn)在,已經(jīng)能夠和幾乎所有的Office家族中的產(chǎn)品緊密地結(jié)合了。
然而,在國(guó)內(nèi)為什么沒有太多的人對(duì)其關(guān)注呢?在尋找答案的時(shí)候,我想先講一件在工作中遇到的小故事。
有一次業(yè)務(wù)部門需要開發(fā)一個(gè)抽獎(jiǎng)的小工具,要求隨機(jī)抽出指定數(shù)量的中獎(jiǎng)號(hào)碼,并且還要導(dǎo)出到Excel中,以方便打印。本來想要使用VS 2005開發(fā),但是業(yè)務(wù)告訴我,第二天就需要使用,而此時(shí)已經(jīng)是當(dāng)天下午1點(diǎn)多了。時(shí)間緊、任務(wù)重啊!最終我使用Office的開發(fā)技術(shù),也就是VBA來實(shí)現(xiàn)了這個(gè)小程序,花費(fèi)時(shí)間:2小時(shí)。結(jié)果業(yè)務(wù)部門使用地非常方便,畢竟他們對(duì)于Excel的使用還是非常熟悉的。但是,當(dāng)我和領(lǐng)導(dǎo)提起這件事兒的時(shí)候,他告訴我,等有時(shí)間的時(shí)候,再做個(gè)真正的程序吧。
大家看到了吧,在現(xiàn)實(shí)的環(huán)境中,很多人并不認(rèn)為Office開發(fā)是真正的開發(fā),因?yàn)樗皇莻鹘y(tǒng)的Winform形式的軟件,也不是當(dāng)前比較流行的B/S模式,似乎只是在Office的基礎(chǔ)上修修補(bǔ)補(bǔ),做出來的不入流的小東西。
然而,我要說的是,這是一種需要糾正的看法,Office開發(fā)真的非常重要。
為什么呢?大家想想當(dāng)前公司中使用的各種軟件之中,除了操作系統(tǒng)Windows之外,哪種軟件的使用頻率最高,公司的人員掌握的最好呢?毫無疑問,答案就是Office系列的軟件,可能會(huì)包括Word、Excel、Powerpoint等等,這些軟件不僅已經(jīng)形成了一個(gè)龐大的家族,不斷有新丁的加入,而且在業(yè)界已經(jīng)形成了幾乎壟斷的地位。
大家還記得幾年前Google發(fā)布Gmail的時(shí)候吧,那是大家都沒有想到,現(xiàn)在在其之上衍生出多種軟件,已經(jīng)和Gmail一起形成了一個(gè)產(chǎn)品家族。
微軟沒有像Google一樣以郵件為中心,而是以文檔工具為中心,圍繞著Office的產(chǎn)品,逐漸地形成了屬于自己的產(chǎn)品家族。而有了VSTO,更是為擴(kuò)展這個(gè)家族成員的功能提供了非常大的便利,作為程序員,我們不僅可以充分利用Office中現(xiàn)有的功能,而且還可以借助強(qiáng)大的.NET framework,來對(duì)其進(jìn)行幾乎是無限的擴(kuò)展,訪問數(shù)據(jù)庫,訪問其他軟件的接口,訪問Web Service等等,有了這些功能,我們可以在Office完成許多之前不可想象的工作。
或許大家還對(duì)上面的言論保持懷疑的態(tài)度,那么就讓我們一起來看下這樣的場(chǎng)景。
具體場(chǎng)景:客戶投保(保險(xiǎn)業(yè))
當(dāng)前在保險(xiǎn)公司中,投保這個(gè)環(huán)節(jié)是非常重要的,因?yàn)檫@就意味著公司能夠收入資金了,但是這也是非常麻煩的一件事兒,不信你看這個(gè)環(huán)節(jié)所需要的步驟:
1、代理人和客戶商量、為其建議,最終填寫好投保單
2、代理人將投保單帶回當(dāng)?shù)氐姆止?/p>
3、分公司負(fù)責(zé)人員將投保單發(fā)送給總公司
4、總公司將投保單錄入到核心系統(tǒng)中
5、對(duì)其進(jìn)行核保等操作,為客戶打印保單
簡(jiǎn)單看來,似乎并不復(fù)雜,但是在實(shí)際的操作過程中,由于總分公司之間可能有很遠(yuǎn)的距離,所以投保單需要一兩天甚至更長(zhǎng)的時(shí)間之后才能夠進(jìn)入到系統(tǒng)之中。
為了解決這個(gè)問題,有些保險(xiǎn)公司采用了掃描的方式,將投保單掃描成圖片,然后按照?qǐng)D片來錄入。
然而,這樣還是有重復(fù)的工作,因?yàn)榭蛻艉痛砣艘黄鹛顚懥送侗?#xff0c;而之后負(fù)責(zé)錄入的人員又將所有的信息錄入到核心系統(tǒng)中,而且在這個(gè)過程中,不可避免會(huì)有信息的丟失和出錯(cuò)。
為了解決這個(gè)問題,其實(shí)我們可以這樣來做:
制作投保單文件,可能是Excel格式或者Word格式,代理人和客戶一起在筆記本電腦上填寫完成。
在這份文檔上我們使用VSTO開發(fā)Add-in,只需要連接上公司的局域網(wǎng),然后輕松地點(diǎn)擊“上傳到核心系統(tǒng)”,就可以按照相應(yīng)的規(guī)則將信息上傳到核心系統(tǒng)中。
仔細(xì)思考一下,這樣做的話,對(duì)于每個(gè)投保環(huán)節(jié),我們大概可以節(jié)省兩天的時(shí)間,可以節(jié)省兩個(gè)人力,還可以大大提高準(zhǔn)確率。而代理人學(xué)習(xí)如何使用這個(gè)功能的時(shí)間幾乎為0,當(dāng)然前提是他會(huì)使用Office,呵呵。
從上面我們可以看出,使用VSTO與Office緊密相連的特點(diǎn),在某些情況下,可以大大地提高工作效率,節(jié)省作業(yè)成本,何樂而不為呢?
當(dāng)然,上述的場(chǎng)景還是非常簡(jiǎn)單的,而VSTO只不過是OBA(Office Business Application)的一個(gè)組成部分,微軟基于Office的應(yīng)用,必定會(huì)越來越強(qiáng)大,或許哪天我們使用的OA系統(tǒng),都可以是完全由OBA完成的呢,讓我們拭目以待。
總結(jié)
以上是生活随笔為你收集整理的VS2010中不可忽视的部分——VSTO的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易盛极星多合约回测(问题很多)
- 下一篇: 抽象工厂的应用