据我所知,有两种不同的方式来对VBA中的数据类型进行分类。哪种数据类型类别是字符串
- 对象类型与非对象
- 值类型与参考类型
我假设对象类型是相同的引用类型。但我读到,有关对象和非对象类型之间的分配存在差异:
Dim i As Integer
i = 1
Dim chrt As Chart
Set chrt = something
注意“Set”。现在在下面的链接中,String被分类为引用类型。
http://msdn.microsoft.com/en-us/library/t63sy5hs.aspx
但
Dim str As String
Set str = "abc"
是错误的,
Dim str As String
str = "abc"
是正确的。因此引用类型和对象类型是不等价的。有什么不同?
您提供的链接是关于.Net和VB.Net,* not * VBA(它是基于COM的,而不是基于.Net的)。在VBA中,您可以将字符串视为值类型。然而,在较新的VB.Net中,一方面,整个'Set..'业务消失,另一方面,字符串变成真正的类/对象,但是* VB.Net为了兼容性原因隐藏了这个实例,你不必在字符串中使用'New'关键字)。 – RBarryYoung 2014-12-10 22:10:15