很多應(yīng)用軟件都提供了宏的功能,,“宏”這個(gè)名稱來自英文單詞macro,其含義是:軟件提供一個(gè)特殊功能,,利用這個(gè)功能可以組合多個(gè)命令以實(shí)現(xiàn)任務(wù)的自動(dòng)化。 本書中討論的宏僅限于Excel中提供的宏功能,。 與大多數(shù)編程語言不同,,VBA代碼只能“寄生”于Excel文件之中,并且宏代碼不能編譯為可執(zhí)行文件,,所以不能脫離Excel應(yīng)用程序運(yùn)行,。 一般情況下,可以認(rèn)為宏和VBA這兩個(gè)名稱是等價(jià)的,,但是準(zhǔn)確來講這二者是有區(qū)別的,。VBA forOffice的歷史可以追溯到Office 4.2(Excel 5.0),在此之前的Excel只能使用“宏表”來實(shí)現(xiàn)部分Excel應(yīng)用程序功能的自動(dòng)化。時(shí)過境遷,,即使在VBA得到普遍應(yīng)用的今天,,Office 365和Office 2021( Excel16.0)版本中仍然保留了宏表的功能,也就是說用戶可以繼續(xù)使用宏表功能,。在Excel中,,VBA代碼和宏表可以被統(tǒng)稱為“宏”,由此可見宏和VBA是有區(qū)別的,。但是為了和微軟官方文檔的描述保持一致,本書中除使用術(shù)語“Microsoft Excel 4.0宏”特指宏表外,,其他描述中“VBA”和“宏”具有相同的含義,。 什么是宏表? 宏表的標(biāo)準(zhǔn)名稱是“Microsoft Excel 4.0宏”,,也被稱為“XLM宏”,,其代碼被保存在Excel的特殊表格中,該表格外觀和通常使用的工作表完全相同,,但是功能截然不同,。由于宏表功能本身的局限性,導(dǎo)致現(xiàn)在的開發(fā)者已經(jīng)幾乎不再使用這個(gè)功能開發(fā)新的應(yīng)用,。在Excel 5.0和7.0中,,用戶錄制宏時(shí)可以選擇生成Microsoft Excel 4.0宏或生成VBA代碼,但是從Excel 8.0開始,,錄制宏時(shí)Excel只能將操作記錄為VBA代碼,,這從側(cè)面印證了微軟的產(chǎn)品思路是逐漸放棄Microsoft Excel 4.0宏功能,希望廣大用戶更多地使用VBA功能,。 從Excel 2010(Excel 14.0)開始,,微軟開發(fā)人員已經(jīng)成功地將Microsoft Excel 4.0宏的部分功能移植到VBA中,這有助于用戶將以前開發(fā)的Microsoft Excel 4.0宏遷移為VBA應(yīng)用程序,。 伴隨著Office軟件的版本升級(jí),,VBA的版本也有相應(yīng)的升級(jí)。不同版本Excel中VBA的版本信息如圖1-1所示,。 圖1-1 Excel和VBA的版本 提示 Office 2010是微軟發(fā)布的第一個(gè)支持64位的Office應(yīng)用程序,,并且集成了VBA 7.0,該版本VBA與低版本的顯著區(qū)別是:該版本VBA能夠開發(fā)和運(yùn)行支持64位Office的代碼,。Office 2021中的VBA版本為7.1.1124,。 |
|