zoukankan      html  css  js  c++  java
  • 【VBA编程】10.自定义集合

    自定义集合类型,类似于变量声明,只是要将Dim关键字和New collection关键字搭配起来使用,其语法描述如下:其中集合名的命名方式同于标准变量的命名

    Dim 集合名 As New collection

    对于已经定义的集合对象,可以使用集合的Add方法向集合中添加元素,语法如下:

    集合名.add item[,key] [,before] [,after]

    item:是一个必要的参数,表示将要添加到集合的对象名称

    Key: 是一个可选参数,表示该对象在集合中以关键字表示,以供访问结合元素时,能够按照关键字访问

    before:表示位于一个对象之前,其值为集合中某一对象的索引号

    after:表示位于一个对象之后,其值为集合中某一对象的索引号

    【环境准备】

    首先插入“类模块”

    修改“类模块”名称

    双击修改后的“类模块”名称,并在代码窗口写下如下代码:

    然后,新建插入“模块”

    【代码区域】

    Sub 自定义集合()
     Dim zdyjh As New Collection '自定义一个集合
     Dim obj As classname '定义一个对象
     Dim num As Integer '定义一个计数器
     Set obj = New classname '对一个变量赋值
     obj.name = "杨过" '为对象的属性赋值
     zdyjh.Add Item:=obj, Key:="first"    '将对象添加到集合中
     Set obj = New classname '新建一个对象
     obj.name = "郭靖"
     zdyjh.Add Item:=obj, Key:="second"
     Set obj = New classname
     obj.name = "黄蓉"
     zdyjh.Add Item:=obj, Key:="third"
     For i = 1 To 2
      Debug.Print
     Next
      '输出现有集合中的元素
      Debug.Print "现有集合中共有" & CStr(zdyjh.Count) & "个元素,个元素举例如下:"
      Debug.Print
      num = 1
      For Each tempobj In zdyjh
        Debug.Print "" & CStr(num) & "对象名字为:" & tempobj.name 'CStr函数将数据强制转换为字符
        Debug.Print
        num = num + 1
      Next
      Set obj = New classname
      obj.name = "段誉"
      zdyjh.Add Item:=obj, Key:="forth", before:=2
      Debug.Print "在第2个对象之前插入对象后,集合中共有" & CStr(zdyjh.Count) & "个元素,各元素列举如下:"
      Debug.Print
      num = 1
      For Each tempobj In zdyjh
        Debug.Print "" & CStr(num) & "对象的名字为:" & tempobj.name
        Debug.Print
        num = num + 1
      Next
      Set obj = New classname
      obj.name = "胡八一"
      zdyjh.Add Item:=obj, Key:="five", after:=3
      Debug.Print "在第三个对象之后插入对象后,集合共有" & CStr(zdyjh.Count) & "个元素,各元素列举如下:"
      Debug.Print
      num = 1
      For Each tempobj In zdyjh
        Debug.Print "" & CStr(num) & "对象的名字为:" & tempobj.name
        Debug.Print
        num = num + 1
      Next
      '移除第三个对象
      zdyjh.Remove (3)
      Debug.Print "删除第三个对象之后,集合共有" & CStr(zdyjh.Count) & "个元素,各元素列举如下:"
      Debug.Print
      num = 1
      For Each tempobj In zdyjh
        Debug.Print "" & CStr(num) & "对象的名字为:" & tempobj.name
        Debug.Print
        num = num + 1
      Next
    End Sub

    【结果展示】

     立即窗口打印结果为:

    现有集合中共有3个元素,个元素举例如下:

    第1对象名字为:杨过

    第2对象名字为:郭靖

    第3对象名字为:黄蓉

    在第2个对象之前插入对象后,集合中共有4个元素,各元素列举如下:

    第1对象的名字为:杨过

    第2对象的名字为:段誉

    第3对象的名字为:郭靖

    第4对象的名字为:黄蓉

    在第三个对象之后插入对象后,集合共有5个元素,各元素列举如下:

    第1对象的名字为:杨过

    第2对象的名字为:段誉

    第3对象的名字为:郭靖

    第4对象的名字为:胡八一

    第5对象的名字为:黄蓉

    删除第三个对象之后,集合共有4个元素,各元素列举如下:

    第1对象的名字为:杨过

    第2对象的名字为:段誉

    第3对象的名字为:胡八一

    第4对象的名字为:黄蓉

  • 相关阅读:
    如何快速打开Github
    vuecli4 如何创建带有vuerouter vuex scss预编译的项目
    ASP.Net Core WebApi几种版本控制对比
    解决Asp.Net Core 3.1 中无法读取HttpContext.Request.Body的问题
    winrar压缩文件但是排除指定目录
    postgresql数据库下导入导出,删除常用命令
    .NetCore使用Swagger+API多版本控制
    ElementUI和Ant Design对比
    自动登录或7天登录的实现
    浏览器脚本按钮功能
  • 原文地址:https://www.cnblogs.com/OliverQin/p/6211350.html
Copyright © 2011-2022 走看看