2020年12月27日 星期日

為何要學VBA?學寫程式的差異在那?

一、先來簡單聊聊VBA是啥?

VBA是微軟在OFFICE產品線中,內建的一個巨集的功能,透過巨集功能錄製的操作,則是以VBA方式記錄成巨集,讓使用者可以實現單一作業重複,但錄製功能卻十分十分十分地受限;更早之前在VB的時代中,微軟把物件寫好提供給各開發者,能夠直接使用,讓開發人員能快速完成視窗工具的開發,但也因為這樣開發也常常因為物件而受限(能力超強的軟體工程師會自己寫物件的除外XD);回到VBA,雖然錄製功能十分受限,但其實VBA很早就內建在OFFICE的軟體中,不論WORD、EXCEL、POWERPOINT、OUTLOOK,直到最新的OFFICE都還是有他的影子歐,那VBA到底是????

整理一下:

簡單來說就是Visual basic(簡稱VB)的延伸語言,在最大差異是VB的程式語言的產出,通常有經過"編譯"所以可以單獨變成安裝程式,並可安裝於WINDOWS平台中,但VBA僅能依附在OFFICE的檔案中(如*.xlsm、*.doc)。但!寫程式的架構與邏輯可一點也沒特別被簡化歐!!!

二、為何要學VBA?

首先我必須說,這問題跟,"為何要學錄製巨集是完全不同層次的問題",要先區分開來;要透過VB或C#畫出一張超美且有標題、例圖的折線圖或直方圖或任何圖形,簡直是要累死工程師生命,不不不,做更正,應該說如果有更簡便的資料整理工具(先不管你OFFICE是教育版、刷卡買的、還是點BT得到的),OFFICE工具應該算是最普羅大眾且算接受度最高的整理資料工具吧(當然微軟後面還有出像是POWER BI的工具) ,且也開始有一部分主流ERP廠商,甚至將VBS語法內建,透過匯出的資料集中,透過命名為VBS檔案方式,讓使用者透過單機去自行生成資料,來降低erp系統的負載,也更有一部分廠家如XXXCAD,也有內建VBA搂;有點離題了,小小編在這將VBA學習,區為幾個淺在問題面向來剖析:

1.在資料作業整理中,具備高度作業重複的作業的需要

2.無法從0開始學習也無這方面基礎,但又有大量資料運算分析的需要。

備註:很多人都是透過EXCEL來分析製程(Ca、Cpk、Spc)、整理股票或對帳等的應用,小小編是認為都算大量資料。

3.老闆不願意花錢找人寫客製軟體或雇用相關專業人員(這是出社會的感觸)

以上3點具備任何一點,小小編建議,在不讓自己雙手累死,以及眼睛度數逐年增加的考量下,若學習意志足夠,不妨花點時間來學習,既可以幫助自己工作效率提升學到某程度真有興趣,其實整理資料也可以是打在另外一扇門經營自己的方向歐。

p.s具備以上3點任2點很多做不下去的人,更多人選寫履歷 xd

三、最後:學寫程式的差異在那?

小小編以幾個切入點分享:

1.嚴謹度:對初學的小白來說,不需要像是C這類語言,變數都要宣告才能用或是要做那些運算要掛載啥元件的!免;VBA這部分嚴謹度不高,但反過來想,你要先宣告變數先掛載元件,也是可以的歐;所以相對來說比較算比較寬鬆拉,但這也是缺點,就不知不覺變數越用越多了,消耗記憶體跟拖慢運算速度搂(但絕對比手快)。

2.輔助:OFFICE內建相當多的功能,這些功能,全都可以透過vba直接使用,例如算迴歸方程式、算加總....做篩選等,實在太多,但你要用程式語言做?花2~3萬元去學python搞不好你連迴圈都還搞不清楚就下課了(強調沒有看不起人歐,因為python是免費的開發軟件;更白話的是,沒人分享案例或功能,你就要都自己寫自己要的功能)。

3.資源:因為內建在OFFICE內,這表示你可以透過微軟線上(MSDN),查到一堆資料,更甚至如果學習過程中對物件熟悉了,可以透過物件使直接查詢網路資源,找類似案例應用做學習。


沒有留言:

張貼留言

我的雷達:20240517

我的雷達:20240517 自己整理給自己看,懶得多解說  XX日資料當基礎  XX^2日資料當基礎