如果你繼續(xù)學(xué)習(xí)是為了尋找下一份工作的話,,應(yīng)該去招聘網(wǎng)站找工作崗位的工作描述,,看看哪個(gè)用的比較多,然后繼續(xù)學(xué)習(xí),。如果你只是為了提升工作效率,,給自己點(diǎn)技能樹的話,可以繼續(xù)往下看,。下面簡(jiǎn)單介紹一下VBA,、Python、VSTO和RPA的優(yōu)缺點(diǎn),,以及他們最適合干什么,。VBA是Office系列自帶的宏語(yǔ)言,與Python,、VSTO和RPA最大的優(yōu)勢(shì)就是不需要單獨(dú)安裝IDE(集成開發(fā)環(huán)境),,可以直接在Excel中編寫。VBA比較適合一些不能自行在電腦上安裝軟件的老國(guó)企,,因?yàn)椴荒茏约貉b軟件,,所以沒得選。VBA也比較適合非IT專業(yè)的人員入門編程,,除了不需要單獨(dú)裝IDE以外,,VBA在調(diào)試的過(guò)程中是可以一邊調(diào)試一邊修改代碼的,雖然只能改斷點(diǎn)之后的代碼,,但是在日常學(xué)習(xí)中也已經(jīng)比較方便了,。借助Excel工作簿,用VBA可以做到所見及所得,,每一步操作都能呈現(xiàn)出來(lái),,對(duì)于不會(huì)的操作還可以錄制宏抄代碼。稍微熟悉了之后,,盡快學(xué)會(huì)用數(shù)組,,比直接操作Excel快很多,也更專業(yè),。可能有的人也覺得VBA比較適合把Excel日常重復(fù)的操作一鍵化,,關(guān)于這一點(diǎn)筆者(公眾號(hào):URItker)不太認(rèn)可。如果只是自己用的話,,用Python開發(fā)會(huì)快很多,,如果要分享給同事,,把Python打包成exe也不是很難?;蛘邞?yīng)該一步到位用VSTO,。當(dāng)然筆者也理解有的人學(xué)完VBA之后覺得夠用了,所以又把工作重心移回專業(yè)知識(shí)方面,,沒有再深入學(xué)習(xí)其他技術(shù),。跟知乎某個(gè)回答一樣,,寫插件的人升職加薪去集團(tuán)了,,留下了一堆插件,這些插件有用嗎,?真的有用,。怎么維護(hù)?VBA插件還考慮維護(hù),?都搞不清楚遺留了多少文件,,好像整個(gè)部門各個(gè)崗位都有。如今要把各個(gè)崗位的數(shù)據(jù)上數(shù)據(jù)庫(kù),,這些VBA插件每一個(gè)都躲不過(guò)去,。VBA最大的問(wèn)題是IDE。但凡用過(guò)現(xiàn)代版的IDE軟件,,你再回去寫VBA試試,。那個(gè)編程體驗(yàn)簡(jiǎn)直是讓人絕望:只要一行沒寫完,點(diǎn)擊其他行就彈窗提示,;沒有代碼高亮,;缺少代碼提示。VBA第二大問(wèn)題是安裝和引用稍微有點(diǎn)麻煩,。安裝的時(shí)候需要在Excel中手動(dòng)引入加載項(xiàng),,更新也需要自己去手寫更新文件。引用別的功能基本是個(gè)殘廢,,例如數(shù)據(jù)庫(kù)需要單獨(dú)安裝ODBC驅(qū)動(dòng),。寫一個(gè)程序給別人用,最起碼的應(yīng)該是減少使用成本,。Excel加載項(xiàng)可能還好一點(diǎn),,步驟稍微多一些,也不是很復(fù)雜,。Word加載項(xiàng)就比較糟心了,,啟用的加載項(xiàng)必須放到默認(rèn)路徑,或者調(diào)整默認(rèn)路徑,,否則每次打開都得重新啟用,。Python是目前炒的最火的編程語(yǔ)言了,真的是火出圈,。相信想學(xué)Python的人一定在朋友圈看到過(guò)相關(guān)的廣告,,什么Excel兩小時(shí)Python只要5分鐘、學(xué)完P(guān)ython再也不加班了之類的,。相比VBA,,Python需要配置環(huán)境、裝IDE,。對(duì)于非專業(yè)人士可能改個(gè)pip源都費(fèi)勁,。Python的優(yōu)勢(shì)是類庫(kù)比較豐富,語(yǔ)法很簡(jiǎn)潔,。例如數(shù)據(jù)處理中常用的Pandas庫(kù),,用dataframe數(shù)據(jù)結(jié)構(gòu)處理數(shù)據(jù)就一個(gè)字——“爽”。用Pandas基本就可以告別For循環(huán)了,。Python適合做什么,?Python能做的有很多,工作中對(duì)數(shù)據(jù)的處理,,都可以脫離Excel用Python來(lái)做,。基本上除了Excel插件之外,,都可以用Python來(lái)處理,。如果你要給同事寫插件,寫個(gè)Python程序是不大合適的,,除去寫運(yùn)算邏輯,,可能還得畫窗體,最后打包成exe發(fā)給同事,,然后運(yùn)算完還要重新打開Excel,。這是一種比較割裂的使用體驗(yàn)。VSTO是微軟做出來(lái)替代VBA的,,這才是Excel插件的正確打開方式,。有著宇宙最強(qiáng)IDE的Visual Studio的加持,開發(fā)體驗(yàn)也很舒服,。VSTO就是為了做Office插件而生的,,包括自定義Excel模版也是它的強(qiáng)項(xiàng),而且部分語(yǔ)法也與VBA比較類似,,也可以參考錄制宏文件,。如果學(xué)完VBA的話,,稍微加把勁兒把VSTO也學(xué)一學(xué),還是很香的,。VSTO可以采用ClickOnce方式部署,,更新很方便,連接數(shù)據(jù)庫(kù)的話直接nuget安裝包,,使用體驗(yàn)直接上了一個(gè)檔次,。VSTO比VBA的劣勢(shì)主要在三點(diǎn):1.對(duì)舊版本Office支持不好,不支持Office2007以前的版本,。2.需要.net framework環(huán)境,。3.網(wǎng)上的資源比較少,可能大多數(shù)人都止步于VBA了,,畢竟又不是不能用,。VBA的優(yōu)勢(shì)在于自帶IDE,可以直接使用,;Python的優(yōu)勢(shì)在于語(yǔ)法簡(jiǎn)潔,,適合數(shù)據(jù)處理;VSTO適合做Excel插件,,也就是所謂的二次開發(fā),。
|