gpt4 book ai didi

excel - 是否立即声明了电子表格中所有模块中的所有全局变量?

转载 作者:行者123 更新时间:2023-12-04 21:47:40 25 4
gpt4 key购买 nike

我正在重构一个包含多个模块的 Excel 电子表格。在 ThisWorkbook 对象中可以找到以下代码:

Option Explicit
set ws = ActiveSheet

在代码执行期间,线程进入其中一个模块。在这个模块中,我们找到了对象声明:
Global ws as Worksheet

我知道全局变量可以在所有模块中使用。这是否意味着函数声明发生在函数定义之后?还是在运行任何代码之前声明了应用程序中所有模块中的所有全局变量?

最佳答案

声明不是可执行代码,无论它们是全局、模块还是局部范围的(Dim 语句不可执行;Dim...As New 也不可执行)。所以,是的,它们被“立即”宣布。如果加载了模块(即,如果它的任何成员在代码入口点的任何执行路径中使用),那么它定义的所有内容都被定义。

请注意,Global关键字已过时/无用:Global变量与任何其他变量没有任何不同 Public多变的。

正如@BigBen 在评论中提到的那样,全局范围ws As Worksheet object 看起来非常像您要在重构的项目中消除的全局状态变量的类型。

关于excel - 是否立即声明了电子表格中所有模块中的所有全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61326192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com