gpt4 book ai didi

vba - 哪种数据类型类别是字符串

转载 作者:行者123 更新时间:2023-12-04 14:35:33 30 4
gpt4 key购买 nike

据我了解,在 VBA 中有两种不同的方法可以对数据类型进行分类。

  • 对象类型与非对象
  • 值类型与引用类型

  • 我会假设对象类型与引用类型相同。但是我读到对象和非对象类型之间的分配存在差异:
    Dim i As Integer
    i = 1

    Dim chrt As Chart
    Set chrt = something

    注意“设置”。现在在以下链接中,String 被归类为引用类型。

    http://msdn.microsoft.com/en-us/library/t63sy5hs.aspx


    Dim str As String
    Set str = "abc"

    是错误的并且
    Dim str As String
    str = "abc"

    是正确的。因此引用类型和对象类型是不等价的。有什么不同?

    最佳答案

    您的 MSDN 链接指的是 Visual Studio 2013 (.NET) ,其中 String确实是一个对象(就像 .net 框架中的所有东西一样)。

    VBA 字符串是值,而不是对象。

    As I understand, there are the 2 different ways to categorize data types in VBA.

    • Object type vs. Non-Object
    • Value type vs. Reference type


    它比那更简单。对象类型 一个引用类型和一个非对象类型 值类型。

    在 VBA 中,使用 Set 分配对象引用。关键词;过去,值是使用 Let 赋值的。关键字(出于兼容性原因,我相信它仍然有效);这就是为什么属性 setter 使用 Let对于值类型,如 Public Property Let Foo(value As Integer) , 和 Set对于引用类型,如 Public Property Set Foo(value As Object) .

    语言的演变和 Let关键字最终因赋值而被删除; Set仍然需要,用于对象引用分配。

    但是在 VBA 中是 String是一个值,比如 IntegerBoolean .

    关于vba - 哪种数据类型类别是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27411611/

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