在 Visual Basic for Applications 中创建一个全局变量

Posted

技术标签:

【中文标题】在 Visual Basic for Applications 中创建一个全局变量【英文标题】:Make a global variable in Visual Basic for Applications 【发布时间】:2016-09-22 12:47:12 【问题描述】:

在 VBA for Access 中,如何创建可以在任何地方访问和更改的全局变量?

【问题讨论】:

添加一个模块,在顶部public variablename as datatype_you_want 只是为了说明一个项目的代码行越多,应该在其中使用的 Public 变量就越少 【参考方案1】:

您可以通过在标准模块或预先声明的类模块(例如 Worksheet、UserForm 或 PreDeclared 类)中使用 Public 关键字声明变量来在全局范围内声明变量:

Public myVar As String

您还可以使用现已弃用但仍然有效的 Global 语法声明全局变量,其功能与 Public 相同

Global myVar As String

但请注意,使用PublicGlobal 声明变量将使该变量在整个项目中都可以访问AND 到任何引用该项目的项目,即使您的项目受到保护,用户仍然可以从即时窗口查询变量。

如果您必须有一个在您的项目中可用的变量,但仅限于该项目,那么您应该在标准模块中声明该变量,并包含 Option Private Module 语句以使模块对项目私有,但它的变量只对项目公开。

Option Private Module
Public myVar As String

【讨论】:

是否有弃用 global 以支持 public 的文档?

以上是关于在 Visual Basic for Applications 中创建一个全局变量的主要内容,如果未能解决你的问题,请参考以下文章

如何将行传递给 Excel(Visual Basic for Applications)自定义函数?

已删除的部件:部件/xl/vbaProject.bin。(Visual Basic for Applications(VBA))

如何计算Visual Basic中的用户输入?

在 Visual Basic 中使用循环打印平方数

Visual Basic 6 :: 卸载动态创建的表单

用EXCEL内嵌的Visual Basic for Application 编程,通过 USB-GPIB 控制器来驱动仪器34401A,并从34401A读取数据