选项推断ON

时间:2014-02-18 00:54:48

标签: vba option-infer

选项推断不适用于VBA吗?

我尝试在Microsoft Access中的数组上测试VB教程代码。

Dim numbers = {{1, 2}, {3, 4}, {5, 6}}

如果没有Option Infer ON,这不起作用,但如果将其添加,则会出现编译错误。

总noob问题。

2 个答案:

答案 0 :(得分:4)

Option Infer指令是Visual Studio 2008中添加到VB.Net的一个功能.VBA编译器是一个完全不同的实现,从未为Option Infer更新,因此没有办法使这项工作

答案 1 :(得分:0)

只是添加到这篇文章;虽然Option Infer不存在,但在VBA中,您仍然可以关闭Option Explicit ,从而为您提供糟糕的版本。但要小心,因为这不是真正Option Infer。您正在做的只是让VBA主要使用变量来存储值。然后,VBA引擎决定变体的最佳子类型。例如:

Dim a, b
a = 2
b = 3.2
Debug.Print a * b

会很愉快地工作。但是,您可以稍后继续更改值,如此...

Dim a, b
a = 2
b = 3.2
Debug.Print a * b
a = "Hello, World!"
Debug.Print a

非常愉快并且产生输出:

 6.4
Hello, World!

不是最佳做法。

修订

为了进一步强化这种方法的低劣质量,我已经有过几次经验,其中 [原始程序员的] 代码很快崩溃,导致整个应用程序崩溃,因为变量是没有正确定义。