古詩詞大全網 - 成語故事 - 什麽是vba

什麽是vba

Visual Basic for Applications(簡稱VBA)是新壹代標準宏語言,是基於Visual Basic for Windows 發展而來的。它與傳統的宏語言不同,傳統的宏語言不具有高級語言的特征,沒有面向對象的程序設計概念和方法。而VBA 提供了面向對象的程序設計方法,提供了相當完整的程序設計語言。VBA 易於學習掌握,可以使用宏記錄器記錄用戶的各種操作並將其轉換為VBA 程序代碼。這樣用戶可以容易地將日常工作轉換為VBA 程序代碼,使工作自動化。 [1]

VBA是基於 Visual basic發展而來的,與VB具有相似的語言結構。從語言結構上講,VBA是VB的壹個子集,它們的語法結構是壹樣的。兩者的開發環境也幾乎相同。但是,VB是獨立的開發工具,它不需要依附於任何其他應用程序,它有自己完全獨立的工作環境和編譯、鏈接系統。VBA卻沒有自己獨立的工作環境,它必須依附於某壹個主應用程序,VBA專門用於Office的各應用程序中,如Word、 Excel、 Access等。在 Access中,可以通過VBA編寫模塊來滿足特定的需要。 [1]

正是由於VBA與主應用程序的這種關系,使得它與主程序之間的通信變得簡單而高效。它與 AutoCAD完全***享內存空間,所以執行速度比用C語言開發的ADS應用程序要快很多。 [2]

VBA提供了面向對象的程序設計方法,提供了相當完整的程序設計語言。它的編寫是以子過程和函數為單位,在 Access中以模塊形式出現。 [1]

Office取得巨大成功的壹個重要原因就是VBA,使用VBA可以完成很多事情,基於Excel、Word的VBA小程序不計其數。Office中的應用程序可以***享VBA語言,如果掌握了在 Excel 2016中使用VBA的方法,那麽在Word、Power Point中使用VBA自然會變得易如反掌。掌握對VBA語言的使用,可以讓復雜的工作簡易化,減少不必要的重復性工作,大大提高我們的工作效率。 [3]

VBA程序員很多是業余程序員,正因為業余,解決的卻是工作中需要解決的問題;所以,VBA程序大多都是只是在部門內部或個人使用的小工具。集成了VBA的其他應用程序也很多,但真正能為程序增色的不多。 [1]

大多數人看到了VBA可以自動化壹個程序,可以擴展已有程序,但沒有看到在Office中,VBA代碼可以是錄制的,而不是寫出來的,帶來的好處是,學習曲線變得非常緩。如果沒有宏錄制功能,要熟悉某個Office組件的對象模型,絕非壹日之功。 [1]

以ArcGIS為例,ArcGIS擴展必須使用ArcObject,不管是使用VBA也罷,VB也罷,還是C++也罷。但同時,ArcObject的學習不是壹天兩天可以搞定,對於業余程序員,要使用VBA來擴展ArcGIS,幾乎沒有可能;專業程序員又不屑使用VBA;而對於公司,如果要基於ArcObject來擴展ArcGIS,選擇VBA意味著源碼的保護很困難。所以,ArcGIS的VBA就如同雞肋。 [1]

VB 與VBA

VBA 是基於Visual Basic 發展而來的,它們具有相似的語言結構。Visual Basic 是Microsoft 的主要圖形界面開發工具,VBA 5.0 (亦即VBA 97)則是Visual Basic 5.0 的子集。Visual Basic 是由Basic 發展而來的第四代語言。Visual Basic 作為壹套獨立的 Windows 系統開發工具,可用於開發Windows 環境下的各類應用程序,是壹種可視化的、面向對象的、采用事件驅動方式的結構化高級程序設計語言。它具有高效率、簡單易學及功能強大的特點。VB 的程序語言簡單、便捷,利用其事件驅動的編程機制,新穎易用的可視化設計工具,並使用Windows應用程序接口(API)函數,采用動態鏈接庫(DLL)、動態數據交換(DDE)、對象的鏈接與嵌入(OLE)以及開放式數據庫訪問(ODBC)等技術,可以高效、快速地編制出 Windows 環境下功能強大、圖形界面豐富的應用軟件系統。 [1]

Visual Basic 程序很大壹部分以可視(Visual)形式實現,這意味著在設計階段就可以看到程序運行的屏幕畫面,用戶可以在設計時能夠方便地改動畫面圖像、大小、顏色等,直到滿意為止。VB 的用戶可以是缺乏Windows 及C 語言開發經驗的專業軟件人員,也可以是具有壹定Windows開發經驗的專業人員,VB 的可視化編程方法使得原來繁瑣枯燥、令人生畏的Windows 應用程序設計變得輕松自如、妙趣橫生。以往的Windows 應用程序開發工具在設計圖形用戶界面時,都是采用編程的方法,並伴隨大量的計算任務,壹個大型應用程序約有90%的程序代碼用來處理用戶界面,而且在程序設計過程中不能看到界面顯示的效果,只有在程序執行時才能觀察到,如果界面效果不佳,還需要回到程序中去修改。Visual Basic 提供了新穎的可視化設計工具,巧妙地將Windows界面設計的復雜性封裝起來,程序開發人員不必再為界面設計而編寫大量程序代碼,僅需采用現有工具按設計者要求的布局,在屏幕上畫出所需界面,並為各圖形對象設置屬性即可,VB 自動產生界面設計代碼,這樣便將事先編制好的控件可視地連接到壹起,構成壹個隨時可調整的界面。 [1]

VBA 不但繼承了VB 的開發機制,而且VBA 還具有與VB 相似的語言結構,它們的集成開發環境IDE(Intergrated Development Environment)也幾乎相同。但是,經過優化,VBA 專門用於Office 的各應用程序。VB 可運行直接來自Windows 95 或NT 桌面上的應用程序,而VBA 的項目(Project)僅由使用VBA 的Excel、Word、 PowerPoint 等稱為宿主(Host)的Office 應用程序(Application)來調用。 [1]

區別

1. VB是設計用於創建標準的應用程序,而VBA是使已有的應用程序(EXCEL等)自動化。 [3]

2. VB具有自己的開發環境,而VBA必須寄生於已有的應用程序。 [3]

3. 要運行VB開發的應用程序,用戶不必安裝VB,因為VB開發出的應用程序是可執行文件(*.EXE),而VBA開發的程序必須依賴於它的父應用程序,例如EXCEL。 [3]

4.VBA是VB的壹個子集。 [3]

盡管存在這些不同,VBA和VB在結構上仍然十分相似。事實上,如果妳已經了解了VB,會發現學習VBA非常快。相應的,學完VBA會給學習VB打下堅實的基礎。而且,當學會在EXCEL中用VBA創建解決方案後,即已具備在WORD ACCESS OUTLOOK FOXPRO POWERPOINT 中用VBA創建解決方案的大部分知識。 [3]

* VBA壹個關鍵特征是妳所學的知識在微軟的壹些產品中可以相互轉化。 [3]

* VBA可以稱作EXCEL的“遙控器”。 [3]