MyTetra Share
Делитесь знаниями!
Объект Scripting.Dictionary - иначе "словарь".
16.03.2019
23:43
Текстовые метки: vba,Dictionary
Раздел: !Закладки - VBA - Dictionary


Содержание:
1. Создание объекта
2. Свойства

2.1. Count
2.2. Item
2.3. Key
2.4. CompareMode​

3. Методы

3.1. Add
3.2. Exists
3.3. Remove
3.4. RemoveAll
3.5. Items
3.6. Keys​



1. Создание объекта

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")

2. Свойства

2.1. Count

Синтаксис:

Count

Возвращаемое значение: число, количество элементов коллекции.
Замечание: только чтение.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add 1, "One"
Dict.Add 2, "Two"
MsgBox Dict.Count

2.2. Item

Синтаксис:

Item(<Key>)

Возвращаемое значение: элемент коллекции, соответствующий заданному ключу.
Замечание: чтение и запись.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add 1, "One"
Dict.Add 2, "Two"
Dict.Item(1) = "Один"
MsgBox Dict.Item(1)
MsgBox Dict.Item(2)

2.3. Key

Синтаксис:

Key(<Key>)=<NewKey>

Возвращаемое значение: устанавливает новое значение ключа в коллекции.
Замечание: запись.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add 1, "One"
Dict.Add 2, "Two"
Dict.Key(1) = "Eins"
MsgBox Dict.Item("Eins")
MsgBox Dict.Item(2)

2.4. CompareMode

Синтаксис:

CompareMode

Возвращаемое значение: устанавливает способ сравнения ключей коллекции. Установка свойства возможна, только если коллекция пуста. Возможные значения:
0 - Binary.
1 - Text.
2 - Database.
Замечание: чтение и запись.

Пример:

Код (vb.net):

On Error Resume Next
Set Dict = CreateObject("Scripting.Dictionary")
Dict.CompareMode = 1
Dict.Add "a", "One"
Dict.Add "A", "Two"
If Not Err.Number=0 Then MsgBox "CompareMode = 1" & vbCrLf & Err.Description
Err.Clear
Dict.RemoveAll
Dict.CompareMode = 0
Dict.Add "a", "One"
Dict.Add "A", "Two"
If Not Err.Number=0 Then MsgBox "CompareMode = 0" & vbCrLf & Err.Description

3. Методы

3.1. Add

Синтаксис:

Add(<Key>,<Item>)

Назначение: добавляет элемент в коллекцию.

Параметры:
<Key> - ключ.
<Item> - элемент.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"

3.2. Exists

Синтаксис:

Exists(<Key>)

Назначение: проверяет существование ключа в коллекции. Если да, возвращает True, иначе - False.

Параметры:
<Key> - ключ.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
If Dict.Exists(1) Then MsgBox "Ключ существует!"

3.3. Remove

Синтаксис:

Remove(<Key>)

Назначение: удаляет ключ и его элемент из коллекции. Если такой ключ не существует, возникнет ошибка.

Параметры:
<Key> - ключ.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
If Dict.Exists(1) Then Dict.Remove(1)

3.4. RemoveAll

Синтаксис:

RemoveAll

Назначение: очищает коллекцию.

Параметры: нет.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
Dict.RemoveAll
MsgBox Dict.Count

3.5. Items

Синтаксис:

Items

Назначение: возвращает массив элементов коллекции. Позволяет перебрать коллекцию в цикле.

Параметры: нет.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
Arr = Dict.Items
For i=0 To Dict.Count-1
    MsgBox Arr(i)
Next

3.6. Keys

Синтаксис:

Keys

Назначение: возвращает массив ключей коллекции. Позволяет перебрать коллекцию в цикле.

Параметры: нет.

Пример:

Код (vb.net):

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
Arr = Dict.Keys
For i=0 To Dict.Count-1
    MsgBox Arr(i)
Next

 

 
MyTetra Share v.0.52
Яндекс индекс цитирования