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