VBA 字典的定义与简单使用(Dictionary 对象)

VBA 字典的定义与简单使用(Dictionary 对象)

一、Dictionary 对象的定义

在编写vba代码时,遇到需要使用的对象,有两种引用方式,一种是前期引用,也就是先在“工具”菜单下的“引用”命令中添加需要引用的库,如下图所示。
在这里插入图片描述

另一种是直接用 CreateObject(“Scripting.Dictionary”)语句添加的后期引用。

这两种的区别就是,前期引用可以直接列出成员属性、方法列表,后期引用不可以直接列出成员属性、方法列表。

方式1:前期引用

前期引用 一般都是通过手动添加要引用的库的方式实现。

    Dim Dict '创建变量
    Set Dict = New Dictionary   '创建字典对象
  • 优点:可以直接列出成员属性、方法列表
  • 缺点:需要手动添加引用库

方式2:后期引用

后期引用 直接用 CreateObject(“Scripting.Dictionary”)语句添加的后期引用。

    Dim Dict '创建变量
    Set Dict = CreateObject("Scripting.Dictionary") '创建字典对象
  • 优点:不需要手动添加引用库
  • 缺点:无法直接列出成员属性、方法列表

二、Dictionary 对象的简单使用

Sub testDict()
    Dim Dict As '声明字典
    Set Dict = CreateObject("Scripting.Dictionary") '创建字典对象

    '场景一:给字典赋值
    Dict(0) = "姓名"                    '设置字典key为数字0,value为"姓名"
    Dict(Dict(0)) = "张三"              '设置字典key为Dict(0),value为"张三"
    Debug.Print Dict(0), Dict(Dict(0))  '姓名          张三
    
    '场景二:RemoveAll
    Dict.RemoveAll                      '清空字典
    Dict(0) = "爱好"
    Dict(Dict(0)) = "跑步"
    Debug.Print Dict(0), Dict(Dict(0))  '爱好          跑步
    
    
    '场景三:使用Set设置变量 Dict("childDict") 为字典对象
    Set Dict("childDict") = Dict        '设置字典key为"childDict",value为字典的引用
    Debug.Print Dict("childDict")(0), Dict(Dict("childDict")(0))    '爱好          跑步
    
End Sub

在这里插入图片描述


参考资料

  1. 官方文档:Dictionary 对象 | Microsoft Learn
  2. http://www.exceloffice.net/archives/2065#comments
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值