gpt4 book ai didi

vba - 将自定义对象从 VBA 传递到 VBScript

转载 作者:行者123 更新时间:2023-12-02 18:45:53 25 4
gpt4 key购买 nike

我的 Excel 文件中有一个返回自定义类的函数,当我尝试从 VBScript 调用此函数时,出现“未知运行时错误”

示例 VBA 代码:

Function myVBAFunc() As Variant
Set myClass1 = New Class1
myClass1.Name = "Test"
Set myVBAFunc= myClass1
End Function

调用VBScript代码:

Set Excel = CreateObject("Excel.Application") 
Set Workbook = Excel.Workbooks.open("C:\myFile.xls")
Set myRes = Excel.Run("myVBAFunc")
Excel.Quit

当我尝试设置 myRes 时出现错误,我认为这是由 VBScript 无法识别对象类型引起的。有什么办法可以解决这个问题吗?

谢谢,阿什拉夫

最佳答案

您需要将类模块的实例属性(在其属性窗口中)从Private更改为PublicNotCreatable

(也可以严格键入函数)

Function myVBAFunc() As Class1
Set myVBAFunc= New Class1
myVBAFunc.Name = "Test"
End Function

关于vba - 将自定义对象从 VBA 传递到 VBScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402842/

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