使用新的 MyTestableMacro .运行 - 它有什么作用?
With New MyTestableMacro .Run - What does it do?
我正在关注 Rubberduck 的 this 教程VBA 并遇到了这段代码,但不知道它的实际作用:
With New MyTestableMacro
.Run dataServiceStub, wsServiceStub
End With
我尝试搜索 "New keyword in With statement" 以及其他一些内容,但没有找到任何相关内容。
这不是我一年以来看到的代码VBA...
我也试过用方法 Run
制作一个名为 MyTestableMacro
的 class,但也没有用。
为了清楚起见,我想知道 MyTestableMacro
是什么。它是 class、模块、临时宏吗?里面是运行一个method/function吗?
从概念上讲,这与以下代码没有区别:
Dim something As MyTestableMacro
Set something = New MyTestableMacro
With something
...
End With
请注意,我们必须 Dim
一个变量,然后使用 New
关键字对其进行初始化。但是我们可以通过将它们压缩到这个单一语句中来删除 2 条额外的行:
With New MyTestableMacro
...
End With
关于您的另一个问题 -- MyTestableMacro
应该是一个 class 模块。否则你根本无法 New
它。 Run
通常是 Public
方法(可以是 Sub
或 Function
,给定 post 中使用的语法)。 Private
方法将不起作用。 Friend
仅适用于同一个 VBA 项目,但很少看到使用 Friend
而不是 Public
或 Private
.[=25= 的方法]
我正在关注 Rubberduck 的 this 教程VBA 并遇到了这段代码,但不知道它的实际作用:
With New MyTestableMacro
.Run dataServiceStub, wsServiceStub
End With
我尝试搜索 "New keyword in With statement" 以及其他一些内容,但没有找到任何相关内容。
这不是我一年以来看到的代码VBA...
我也试过用方法 Run
制作一个名为 MyTestableMacro
的 class,但也没有用。
为了清楚起见,我想知道 MyTestableMacro
是什么。它是 class、模块、临时宏吗?里面是运行一个method/function吗?
从概念上讲,这与以下代码没有区别:
Dim something As MyTestableMacro
Set something = New MyTestableMacro
With something
...
End With
请注意,我们必须 Dim
一个变量,然后使用 New
关键字对其进行初始化。但是我们可以通过将它们压缩到这个单一语句中来删除 2 条额外的行:
With New MyTestableMacro
...
End With
关于您的另一个问题 -- MyTestableMacro
应该是一个 class 模块。否则你根本无法 New
它。 Run
通常是 Public
方法(可以是 Sub
或 Function
,给定 post 中使用的语法)。 Private
方法将不起作用。 Friend
仅适用于同一个 VBA 项目,但很少看到使用 Friend
而不是 Public
或 Private
.[=25= 的方法]