gpt4 book ai didi

VBA构造函数不起作用

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

尝试在 vba 中使用构造函数创建一个对象,我找到了答案:
pass argument to constructor in vba

但我不能让它工作。我错过了一些东西。

我使用 excel 2010 vba 编辑器。当我启动 MacroTest() 时,我在 InitiateProperties 行上收到“编译错误,语法错误”,代码如下:

测试类 (使用模块类创建):

Option Explicit

Private pInfo1 As String
Private pInfo2 As String

Public Sub InitiateProperties(info1 As String, info2 As String)
pInfo1 = info1
pInfo2 = info2
End Sub

工厂 (创建为模块)
   Set CreateTestClass = New TestClass
CreateTestClass.InitiateProperties(info1, info2)
End Function

模块1*
Sub MacroTest()
Dim myObject As TestClass
myObject = CreateTestClass("hello", "bye")
End Sub

该行:
CreateTestClass.InitiateProperties(info1, info2)

看起来是红色的

我看不出我错在哪里,这可能很明显。

提前致谢。

最佳答案

如其他评论中所述,您需要替换:

CreateTestClass.InitiateProperties(info1, info2)


Call CreateTestClass.InitiateProperties(info1, info2)

您还会在 Module1 中发现错误。在哪里:
myObject = CreateTestClass("hello", "bye")

应该读:
Set myObject = CreateTestClass("hello", "bye")

因为您正在分配对 CreateTestClass 返回的对象的引用工厂功能至 myObject .

关于VBA构造函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30122980/

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