VB、VBA、VBS的区别与联系
概念
VB
Visual Basic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對象的程序設(shè)計語言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮摹瑓f(xié)助開發(fā)環(huán)境的事件驅(qū)動為機制的可視化程序設(shè)計語言。是一種可用于微軟自家產(chǎn)品開發(fā)的語言。
“Visual” 指的是開發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預先建立的對象add到屏幕上的一點即可。 “Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術(shù)發(fā)展歷史上應用得最為廣泛的語言。
Visual Basic源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件,用于高效生成類型安全和面向?qū)ο蟮膽贸绦颉?br />
程序員可以輕松的使用VB提供的組件快速建立一個應用程序。
VBA
VBA(Visual Basic for Applications)是Visual Basic的一種宏語言,是在其桌面應用程序中執(zhí)行通用的自動化(OLE)任務的編程語言。主要能用來擴展Windows的應用程序功能,特別是Microsoft Office軟件。它也可說是一種應用程式視覺化的 Basic 腳本。
1993年由微軟公司開發(fā)的應用程序共享一種通用的自動化語言--------即Visual Basic for Application(VBA),實際上VBA是寄生于VB應用程序的版本。1994年發(fā)行的Excel5.0版本中,即具備了VBA的宏功能。
學習GIS的應該知道在ArcGIS中也有ArcGIS VBA插件開發(fā)學習的部分,一般涉及ArcGIS系列軟件二次開發(fā)的語言主要有C#、VBA、Python等。以ArcGIS為例,ArcGIS擴展必須使用ArcObject,不管是使用VBA也罷,VB也罷,還是C++也罷。但同時,ArcObject的學習不是一天兩天可以搞定,對于業(yè)余程序員,要使用VBA來擴展ArcGIS,幾乎沒有可能;專業(yè)程序員又不屑使用VBA;而對于公司,如果要基于ArcObject來擴展ArcGIS,選擇VBA意味著源碼的保護很困難。所以,ArcGIS的VBA就如同雞肋。所以通常的工具的開發(fā)等逐漸舍棄了VBA編程,并現(xiàn)在的趨勢依博主看來正在由C#逐漸(或者說迅速)向Python3靠攏。
VBS
VBS是基于Visual Basic的腳本語言。VBS的全稱是:Microsoft Visual Basic Script Edition。(微軟公司可視化BASIC腳本版)。
其語言類似Visual Basic(VB)。是可以直接雙擊運行的*.vbs腳本文件。
VB 與VBA聯(lián)系
VBA 是基于Visual Basic 發(fā)展而來的,它們具有相似的語言結(jié)構(gòu)。Visual Basic 是Microsoft 的主要圖形界面開發(fā)工具,VBA 5.0 (亦即VBA 97)則是Visual Basic 5.0 的子集。Visual Basic 是由Basic 發(fā)展而來的第四代語言。Visual Basic 作為一套獨立的 Windows 系統(tǒng)開發(fā)工具,可用于開發(fā)Windows 環(huán)境下的各類應用程序,是一種可視化的、面向?qū)ο蟮摹⒉捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言。它具有高效率、簡單易學及功能強大的特點。VB 的程序語言簡單、便捷,利用其事件驅(qū)動的編程機制,新穎易用的可視化設(shè)計工具,并使用Windows應用程序接口(API)函數(shù),采用動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)以及開放式數(shù)據(jù)庫訪問(ODBC)等技術(shù),可以高效、快速地編制出 Windows 環(huán)境下功能強大、圖形界面豐富的應用軟件系統(tǒng)。
Visual Basic 程序很大一部分以可視(Visual)形式實現(xiàn),這意味著在設(shè)計階段就可以看到程序運行的屏幕畫面,用戶可以在設(shè)計時能夠方便地改動畫面圖像、大小、顏色等,直到滿意為止。VB 的用戶可以是缺乏Windows 及C 語言開發(fā)經(jīng)驗的專業(yè)軟件人員,也可以是具有一定Windows開發(fā)經(jīng)驗的專業(yè)人員,VB 的可視化編程方法使得原來繁瑣枯燥、令人生畏的Windows 應用程序設(shè)計變得輕松自如、妙趣橫生。以往的Windows 應用程序開發(fā)工具在設(shè)計圖形用戶界面時,都是采用編程的方法,并伴隨大量的計算任務,一個大型應用程序約有90%的程序代碼用來處理用戶界面,而且在程序設(shè)計過程中不能看到界面顯示的效果,只有在程序執(zhí)行時才能觀察到,如果界面效果不佳,還需要回到程序中去修改。Visual Basic 提供了新穎的可視化設(shè)計工具,巧妙地將Windows界面設(shè)計的復雜性封裝起來,程序開發(fā)人員不必再為界面設(shè)計而編寫大量程序代碼,僅需采用現(xiàn)有工具按設(shè)計者要求的布局,在屏幕上畫出所需界面,并為各圖形對象設(shè)置屬性即可,VB 自動產(chǎn)生界面設(shè)計代碼,這樣便將事先編制好的控件可視地連接到一起,構(gòu)成一個隨時可調(diào)整的界面。
VBA 不但繼承了VB 的開發(fā)機制,而且VBA 還具有與VB 相似的語言結(jié)構(gòu),它們的集成開發(fā)環(huán)境IDE(Intergrated Development Environment)也幾乎相同。但是,經(jīng)過優(yōu)化,VBA 專門用于Office 的各應用程序。VB 可運行直接來自Windows 95 或NT 桌面上的應用程序,而VBA 的項目(Project)僅由使用VBA 的Excel、Word、 PowerPoint 等稱為宿主(Host)的Office 應用程序(Application)來調(diào)用。
區(qū)別
1. VB是設(shè)計用于創(chuàng)建標準的應用程序,而VBA是使已有的應用程序(EXCEL等)自動化。
2. VB具有自己的開發(fā)環(huán)境,而VBA必須寄生于已有的應用程序。
3. 要運行VB開發(fā)的應用程序,用戶不必安裝VB,因為VB開發(fā)出的應用程序是可執(zhí)行文件(*.EXE),而VBA開發(fā)的程序必須依賴于它的父應用程序,例如EXCEL。
4.VBA是VB的一個子集。
盡管存在這些不同,VBA和VB在結(jié)構(gòu)上仍然十分相似。事實上,如果你已經(jīng)了解了VB,會發(fā)現(xiàn)學習VBA非常快。相應的,學完VBA會給學習VB打下堅實的基礎(chǔ)。而且,當學會在EXCEL中用VBA創(chuàng)建解決方案后,即已具備在WORD ACCESS OUTLOOK FOXPRO POWERPOINT 中用VBA創(chuàng)建解決方案的大部分知識。
* VBA一個關(guān)鍵特征是你所學的知識在微軟的一些產(chǎn)品中可以相互轉(zhuǎn)化。
* VBA可以稱作EXCEL的“遙控器”。
這里的宏編程博主想提一下,雖然博主也不是Excel的大佬,但是據(jù)博主使用Excel的經(jīng)歷來看,有些時候一些比較高大上的excel操作還是需要編程來配合的(至少僅僅靠Excel操作是不夠的,雖然excel往往比想象中強大的多),但是此時的編程語言的選擇往往是python等,至于VBA編程,在Office的可行度未可知,但在WPS中……很不建議。
VBS嚴格來講,并不能將其與VB、VBA放在同一個程式中進行比較,他們的關(guān)系就好比遠房親戚,一般用ActiveX Script對象來進行操作,而VB與VBA一看就是一脈相承的真親屬。
下面是博主搜到的三幅地圖(來自百度),博主稱其為漫畫風地圖,博主覺得還是蠻有創(chuàng)意的,一起來欣賞下吧!
大部分資料來自百度,博主只不過在整理過后據(jù)經(jīng)驗加了一點自己淺薄的見解,歡迎留言評論。
總結(jié)
以上是生活随笔為你收集整理的VB、VBA、VBS的区别与联系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pr渲染程序选哪个_PR的bug你遇到过
- 下一篇: UML图概述