【发布时间】:2011-02-07 03:17:29
【问题描述】:
我正在尝试创建 PoC 以从 COM 客户端公开/调用各种 .NET 对象。 .NET 库包含一些类和枚举。
我能够成功访问 VBScript 中的类,但无法访问枚举。 我知道枚举是值类型,因此“CreateObject”在这种情况下不起作用。
但我能够在 VBA 代码中访问相同的枚举。
问题:
如何访问 VBScript 中的枚举?
为什么两个 COM 客户端的行为不同?如果 VBA 对象浏览器可以看到枚举,为什么 VBScript 不能让我创建一个?
.NET
[ComVisible(true)]
[GuidAttribute("ebc25cf6-9120-4283-b972-0e5520d0000E")]
public enum Currency
{
GBP = CurrencyConvertorBL.CurrencyConvertorRef.Currency.GBP,
USD = CurrencyConvertorBL.CurrencyConvertorRef.Currency.USD,
INR = CurrencyConvertorBL.CurrencyConvertorRef.Currency.INR,
AUD = CurrencyConvertorBL.CurrencyConvertorRef.Currency.AUD
}
VBA
Private Function ConvertCurrency(fromCurrency As Currency,
toCurrency As Currency) As Double
VBScript ???
Set currencyConvertorCCY = CreateObject("CurrencyConvertorBL.Currency")
提前致谢。
【问题讨论】:
标签: vba com interop vbscript enums