盡管有壹些不同,VBA和VB在結構上仍然非常相似。事實上,如果妳已經知道VB,妳會發現學習VBA非常快。相應地,學習VBA將為學習VB打下堅實的基礎。此外,當您學習在EXCEL中使用VBA創建解決方案時,您已經掌握了在Word Access Outlook FoxPro Prower Point中使用VBA創建解決方案的大部分知識。
VBA的壹個重要特點是,妳所學到的東西可以在微軟的壹些產品中相互轉化。
VBA堪稱EXCEL的“遙控器”。
VBA到底是什麽?更準確地說,它是壹種自動化語言,可以自動化常見的程序並創建定制的解決方案。
此外,如果您願意,還可以使用EXCEL作為開發平臺來實現應用程序。
Office取得巨大成功的壹個重要原因是VBA,它可以完成許多事情,還有無數基於Excel和Word的VBA小程序。
許多VBA程序員是業余程序員。由於他們的業余愛好者,他們解決了工作中需要解決的問題。因此,VBA程序大多是只在部門或個人內部使用的小工具。
還有許多其他應用程序集成了VBA,但很少能真正為程序增添色彩。
大多數人看到VBA可以自動化程序並擴展現有程序,但他們沒有看到VBA代碼可以錄制而不是在辦公室編寫,這帶來了學習曲線變得非常緩慢的優勢。如果沒有宏錄制功能,熟悉壹個Office組件的對象模型絕非壹日之功。
以ArcGIS為例,無論是VBA、VB還是C++,ArcGIS擴展模塊都必須使用ArcObject。但同時,學習ArcObject也不是壹兩天就能完成的。對於業余程序員來說,使用VBA擴展ArcGIS幾乎是不可能的。專業程序員不屑於使用VBA;;對於該公司來說,如果您想基於ArcObject擴展ArcGIS,選擇VBA意味著很難保護源代碼。因此,ArcGIS的VBA就像雞肋壹樣。
然而,學習AO時,使用VBA比使用其他語言更容易。寫幾行代碼然後直接運行測試結果應該是最好的學習方法。
ArcGIS與AO和Office還有壹個很大的區別,即ArcGIS缺少中等粒度的對象,例如Word和Excel的範圍對象。對於Office開發,您可以在對底層小粒度對象壹無所知的情況下做很多事情。這就是抽象的力量。普通人能夠處理的復雜性是有限的。在面對幾十個對象和幾百個對象時,後者需要工作的次數不是10次,而是幾十次或更多次,因為在學習過程中,這些對象必須在大腦中進行良好的組織以控制它們的復雜性。
Visual Basic for Applications(簡稱VBA)是基於Visual Basic for Windows的新壹代標準宏語言。它不同於傳統的宏語言,後者不具備高級語言的特點,也沒有面向對象的編程概念和方法。VBA提供了壹種面向對象的編程方法和壹種相當完整的編程語言。VBA容易學習和掌握。您可以使用宏記錄器來記錄用戶的各種操作並將其轉換為VBA程序代碼。這樣,用戶可以很容易地將他們的日常工作轉換成VBA程序代碼,並使他們的工作自動化。因此,對於工作中需要經常使用辦公軟件的用戶來說,學習VBA有助於實現工作自動化,提高工作效率。此外,VBA可以直接應用Office套件軟件的強大功能,因此程序員設計和開發程序更加方便快捷。