在編譯時更改程式碼行為

#Const 指令用於定義自定義前處理器常量。#If 稍後可以使用它們來控制編譯和執行哪些程式碼塊。

#Const DEBUGMODE = 1

#If DEBUGMODE Then
    Const filepath As String = "C:\Users\UserName\Path\To\File.txt"
#Else
    Const filepath As String = "\\server\share\path\to\file.txt"
#End If

這導致 filepath 的值被設定為 C:\Users\UserName\Path\To\File.txt。刪除 #Const 線,或將其更改為 #Const DEBUGMODE = 0 將導致 filepath 設定為 \\server\share\path\to\file.txt

#Const 範圍

#Const 指令僅對單個程式碼檔案(模組或類)有效。必須為你希望使用自定義常量的每個檔案宣告它。或者,你可以通過工具>> [你的專案名稱]專案屬性為你的專案全域性宣告 #Const。這將開啟專案屬性對話方塊,我們將在其中輸入常量宣告。在條件編譯引數框中,鍵入 [constName] = [value]。你可以通過用冒號分隔它們來輸入多於 1 個常量,例如 [constName1] = [value1] : [constName2] = [value2]

StackOverflow 文件

預定義的常量

一些編譯常量已經預先定義。哪些存在將取決於你執行 VBA 的辦公室版本的位數。請注意,Vba7 是與 Office 2010 一起引入的,以支援 64 位版本的 Office。

不變 16 位 32 位 64 位
VBA6 如果是 Vba6
VBA7 如果是 Vba7 真正
Win16 真正
Win32 真正 真正
Win64 平臺 真正
蘋果電腦 如果 Mac 如果 Mac

請注意,Win64 / Win32 是指 Office 版本,而不是 Windows 版本。例如,32 位 Office 中的 Win32 = TRUE,即使作業系統是 64 位版本的 Windows。