VBA 簡介

03 Dec 2018

What is VBA?

Visual Basic for Applications(VBA)是Visual Basic的一種巨集語言,主要能用來擴展Windows的應用程式功能,特別是Microsoft Office軟體。也可說是一種應用程式視覺化的Basic Sc​​ript。 1994年發行的Excel 5.0版本中,即具備了VBA的巨集功能。

使用 VBA 的時機與原因

考慮使用 Office 的 VBA 程式設計主要有以下數個原因。

自動化和重複執行

對於設定格式或修正問題這類重複的工作來說,使用 VBA 非常的有效且有效率。 比如說,您曾經需要變更 Word 中每一頁上方的段落樣式? 曾經需要將從 Excel 貼到 Word 文件或 Outlook 電子郵件的多個表格的格式重新設定? 曾經需要針對多位 Outlook 連絡人進行相同的變更?

如果需要進行的變更次數超過十次或二十次,那麼就值得使用 VBA 來自動進行這項變更。 如果需要變更的次數有上百次,就絕對必須考慮使用 VBA。 幾乎所有可手動進行的格式設定動作或編輯變更,都可透過 VBA 完成。

允許使用者互動的擴充功能

有時候,您會想鼓勵或強制使用者,以非標準應用的特定方式與 Office 應用程式或文件互動。 例如,您想在使用者開啟、儲存或列印文件時,提示使用者採取特殊動作。

Office 應用程式之間的整合

您需要將所有 Outlook 連絡人複製到 Word,然後以某種特殊方法設定連絡人格式嗎? 或者,您需要將 Excel 的資料移到一組 PowerPoint 投影片中? 有時候簡單的複製和貼上並無法完成您想要執行的工作,或者是速度過慢。 您可使用 VBA 程式設計同時與兩個以上的 Office 應用程式的詳細資料互動,然後根據其中一個應用程式中的內容,修改另一個應用程式中的內容。

另闢他法

VBA 程式設計是一個功能強大的解決方案,但不一定總是最佳作法。 有時候,需要使用其他方法來達成您的目的。

關鍵問題在於,是否還有更簡單的方法。 開始使用 VBA 專案前,請先考慮使用內建的工具和標準功能。 例如,在進行耗時的編輯或版面配置工作時,可考慮使用樣式或快速鍵來解決問題。 您可否執行一次工作,之後使用 CTRL+Y (重做) 來重複工作呢? 您可否使用正確的格式或範本來建立新文件,然後將內容複製到該新文件內嗎?

Office 應用程式的功能相當強大;當中已內建您需要的解決方案。 進行程式設計前,請先花些時間深入了解 Office。

開始使用 VBA 專案前,請先確定您有充裕的時間可使用 VBA。 進行程式設計時必須專心投入,且過程可能無法預測。 特別是初學者,除非您有充裕的時間能細心工作,否則不要輕易開始進行程式設計。 在時間緊迫的情況下,要寫出解決問題的「快速指令碼」,會讓自己陷於極度緊張的壓力中。 如果您時間很趕,可能會想使用傳統方法,雖然這些方法既死板,重複性又高。