天天看點

Excel開發生态中“無法撼動的蟑螂”,從XLM到VBA,再活500年!戲說 Excel 系列(二)蟑螂傳奇VBA的起源XML宏“僵而不死”TimeLine/史記.宏

戲說 Excel 系列(二)蟑螂傳奇

原創文/寒樹Office 圖/寒樹Office

Excel開發生态中“無法撼動的蟑螂”,從XLM到VBA,再活500年!戲說 Excel 系列(二)蟑螂傳奇VBA的起源XML宏“僵而不死”TimeLine/史記.宏

蟑螂傳奇

引文:VBA 是 Excel突出重圍,打敗對手的大殺器,Excel 取得巨大成功的重要原因。Excel 從 1993年就開始支援 VBA,擁有 25 年的支援生命周期,VBA 就是 Office 開發生态系統中的“無法撼動的蟑螂”。蟑螂是成功的,因為它們很簡單。

VBA的起源

Excel開發生态中“無法撼動的蟑螂”,從XLM到VBA,再活500年!戲說 Excel 系列(二)蟑螂傳奇VBA的起源XML宏“僵而不死”TimeLine/史記.宏

Lotus 1-2-3,首次出現宏功能

Lotus 1-2-3 是最早具備一定開發能力的“電子表格”,其最輝煌的成就不是多功能的內建,而是其推出的“宏”功能。最初“宏”隻作為産品的調試和測試機制,後來開發人員才意識到“宏”的價值,在最終版本中添加了“宏”功能。“宏”為非程式員程式設計及表格自動化提供了簡便有效的幫助,幫助 Lotus 1-2-3 成為“電子表格”市場的領軍産品。

Excel4.0,開始引入XML宏

XML 宏隻能在“宏表工作表”中編寫代碼,代碼儲存在字尾為 .xlm 的單獨檔案中,是以被稱為 XLM 宏。XLM 宏語言包括函數調用以及上百個内建函數,使使用者可以通過程式設計控制 Excel的各種操作,因為如此吸引了一些具備很強程式設計能力的人建立複雜的程式,但是 XLM 宏語言的在使用上相當的複雜,是以遠離了廣大的群衆使用者。

Excel5.0,推出VBA通用宏

此次微軟大膽引入 VBA 宏語言,VBA 繼承了 VB 很大一部分程式設計方法。VBA 是一款功能強大的工具,它使Excel形成了獨立的程式設計環境。使用 VBA 和宏,可以把手工步驟自動化,VBA 也允許建立窗體來獲得使用者輸入的資訊。作為 Office 通用的宏語言,VBA 比 XLM 更簡單,更強大、更有效率。Excel 97釋出之後 VBA 最終發展成為主流的宏語言。

XML宏“僵而不死”

XLM宏從Excel 4開始被引入,但是從Excel 5及更高版本開始被更強大易用的VBA所替代,從此不再有本質上的更新。

Excel開發生态中“無法撼動的蟑螂”,從XLM到VBA,再活500年!戲說 Excel 系列(二)蟑螂傳奇VBA的起源XML宏“僵而不死”TimeLine/史記.宏

指令宏

它的功能一般都和菜單選項或其它Excel指令相同。和通常的Excel指令相似,指令宏的最顯著特點是可以影響工作環境(工作表、工作區)。不管是格式化範圍、列印工作表或建立通用菜單,都能用指令宏來做。

函數宏

它和内置的函數相似,他的顯著特點是可以接受參數,并在運處後傳回結果。設計比較好的函數宏對目前環境沒有影響。

子程式宏

它是指令宏和函數宏的結合。它象函數宏那樣能帶參數傳回結果,又像指令宏那樣能影響工作環境。子程式宏經常被其它宏引用,主要目的是簡化宏代碼。

VBA宏“老兵永不死”

Excel開發生态中“無法撼動的蟑螂”,從XLM到VBA,再活500年!戲說 Excel 系列(二)蟑螂傳奇VBA的起源XML宏“僵而不死”TimeLine/史記.宏

原則一:五分鐘原則

VBA隻做需要為Office生态而做的事,而不是更多。VBA做了它的創造者為其市場定位所做的事情:讓使用者以較少的經驗快速實作有限的功能。這絕不意味着開發複雜應用的重型功能。複雜的事情,比如處理線程,是不合适的。如果五分鐘内無法解決一個特定功能,應該考慮一下其它種類開發技術。

原則二:最快學習原則

VBA成功的另一個關鍵是其有限的功能集,縮短了學習曲線。成為一名優秀的VBA程式員所花費的時間比成為一名優秀的C#程式員所需的時間要少得多,而這正是早期Office開發者的主要選擇。如果是以自動化Office軟體操作為目的,以快速上手Office操作為目标,VBA是最佳選擇。

原則三:免寫代碼原則

最後Office提供了VBA宏錄制(macro recorder)的支援,可以錄制大多數重複性的工作,以最簡單的方式并自動生成代碼。宏錄制是多數非程式員出身職場小白的最佳選擇,VBA也成為了唯一選項。

VBA,無法撼動的蟑螂

Excel開發生态中“無法撼動的蟑螂”,從XLM到VBA,再活500年!戲說 Excel 系列(二)蟑螂傳奇VBA的起源XML宏“僵而不死”TimeLine/史記.宏

VBA是Office取得巨大成功的重要原因之一,使用VBA可以完成很多事情,基于Excel的VBA小程式更是不計其數。Excel從1993年就開始支援VBA,擁有25年的支援生命周期,VBA就是Office開發生态系統中的“無法撼動的蟑螂”。蟑螂是成功的,因為它們很簡單。VBA通過抽象底層Windows作業系統的複雜性來實作其目标。VBA 的語言入門門檻較低,而這些使用者利用 VBA 解決的正式工作中關鍵問題。簡單的事情很容易完成。是以,VBA 程式大多作為部門内部或個人使用的小工具。

TimeLine/史記.宏

Excel開發生态中“無法撼動的蟑螂”,從XLM到VBA,再活500年!戲說 Excel 系列(二)蟑螂傳奇VBA的起源XML宏“僵而不死”TimeLine/史記.宏
  • 1983,電子表格首次引入宏功能
  • 1992,微軟開始引入XML宏
  • 1993,偉大的VBA橫空出世

繼續閱讀