在编译时更改代码行为

#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。