【问题标题】:VB.NET Call Sub using variableVB.NET 使用变量调用 Sub
【发布时间】:2021-05-21 18:12:57
【问题描述】:

我正在尝试使用变量调用公共子,但似乎找不到正确的方法。如果我要在 VBA 中做,那么它很简单,并且会是:

Application.Run([fnd], [FormulaCell])

这将如何转化为 VB.NET?

我在其他地方阅读过有关使用 CallByName 的信息,但我似乎无法将其正确应用到我的代码中。这是我尝试过的:

Dim MF As New MyProject.Modify_Formula
CallByName(MF, fnd(FormulaCell), CallType.Method)

当我尝试此方法时,我收到一条错误消息:“范围”类型的值无法转换为“整数”。此错误消息指的是 (FormulaCell)。

有人可以帮忙吗?

谢谢

【问题讨论】:

  • 你为什么要这样做?可能有正当的理由,但人们通常认为他们需要做这样的事情,而实际上他们不需要。
  • 您是否阅读了CallByName 方法的文档?第二个参数应该是一个String,其中包含要调用的方法的名称。 fnd(FormulaCell) 是否返回包含方法名称的 String
  • fnd 是一个字符串。 FormulaCell 部分是传递给正在调用的 Sub 的范围。但是,这是我得到错误的地方,因为它说范围“FormulaCell”不能转换为整数。

标签: vb.net


【解决方案1】:

在玩了很多之后,我找到了解决方案。请参阅下面的正确语法。

Dim PMF As New Part_Modify_Formula
CallByName(PMF, fnd, CallType.Method, FormulaCell)

需要将范围 FormulaCell 从 ProcName 部分移动到 Args 部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-18
    • 2013-11-30
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多