美文网首页vba
34、[VBA入门到放弃笔记] 字典:创建和编写字典

34、[VBA入门到放弃笔记] 字典:创建和编写字典

作者: 叶知行 | 来源:发表于2017-06-27 20:55 被阅读115次
    • 字典是VBA中一个十分有用的对象。
    • VBA中的字典和现实中的【新华字典】、【成语字典】功能一样,都是用来储存信息,并利用检索查询信息的强大工具。

    字典的声明和创建

    • 1、字典的声明分为两种,一种是前期绑定,一种是后期绑定。不用管太多,记住后期绑定的写法。
    • 2、字典既然是对象,那么就用set语句来设定。下面是设置一个字典的写法,要使用字典,必先创建一个字典。
    Dim d As Object      '声明对象
    Set d = CreateObject("scripting.dictionary")    '创建字典,d是字典的名称
    
    • 3、运行代码后,VBA就创建了一个我们看不到的字典。
    • 4、假如我们想要知道天道酬勤是什么意思?在【成语字典】中检索{天道酬勤},就知道其意思是{上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。};VBA字典做的也是这样检索查找的动作过程,这个过程就是VBA中字典的功能过程。【成语字典】是编出来的,同样,VBA字典也可以由你编出来。

    ADD方法:编写字典,向字典中新建条目数据。

    下面就由我们来编写VBA字典,其步骤如下:

    • 5.1、创建字典(空白的)
    • 5.2、编写字典,使{天朝酬勤}的意思是{上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。}.......
    Sub zd()
        Dim d As Object
        Set d = CreateObject("scripting.dictionary")'创建字典d
    '编写字典,增加条目数据
        d.Add "天朝酬勤", "上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。"
        d.Add "天王盖地虎", "宝塔镇河妖"
    '查阅字典
        s = d("天朝酬勤")
        s1 = d("天王盖地虎")
    End Sub
    
    字典
    • 至此,字典编写完毕,总共有2个条目,一个是"天朝酬勤",一个是"天王盖地虎";当我们检索"天道酬勤"时只需要这样--d("天朝酬勤"),这样就能够得出"天朝酬勤"这成语是什么意思了(图片箭头)。
    • 这里 "天道酬勤" 是字典d的key(关键字)
    • "会按照每..." 是字典d中的(key--"天道酬勤")的 item(项目)
    • 当我们 d(key)就得出其item,key是用于检索查找的。item是看不到的,但却是存在的。
    • 一条完整的字典条目,必须有key和item。

    好吧,然后我们忘了ADD这个方法吧!

    • 将上面的代码换成我们熟悉的“=”,直观简单。等号左边的是key,右边的是item。上下两个代码效果一样。
    Sub zd()
        Dim d As Object
        Set d = CreateObject("scripting.dictionary")
        d("天朝酬勤") = "上天会按照每个人付出的勤奋,给予相应的酬劳。多一分耕耘,多一分收获。"
        d("天王盖地虎") = "宝塔镇河妖"
        s = d("天朝酬勤")
        s1 = d("天王盖地虎")
    End Sub
    
    =代替add好处多
    • 这里介绍了字典中一个条目的组成:key和item;以及创建一个条目的方法‘=’。一个条目有key和item组成,字典由N个条目组成(集合)。

    忘记add,忘记add,忘记add,不要用它,用‘=’号,然后你的境界就提升了。


    相关文章

      网友评论

        本文标题:34、[VBA入门到放弃笔记] 字典:创建和编写字典

        本文链接:https://www.haomeiwen.com/subject/nhaecxtx.html