MyTetra Share
Делитесь знаниями!
Объект Dictionary
16.03.2019
23:43
Раздел: !Закладки - VBA - Dictionary-Collection

Объект 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. Создание объекта

Пример:

Set Dict = CreateObject("Scripting.Dictionary")



2. Свойства

2.1. Count

Синтаксис:

Count



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

Замечание: только чтение.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")

Dict.Add 1, "One"

Dict.Add 2, "Two"

MsgBox Dict.Count



2.2. Item

Синтаксис:

Item(<Key>)



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

Замечание: чтение и запись.

Пример:

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>



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

Замечание: запись.

Пример:

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.

Замечание: чтение и запись.

Пример:

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> - элемент.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")

Dict.Add "a", "One"

Dict.Add 1, "Two"



3.2. Exists

Синтаксис:

Exists(<Key>)



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

Параметры:

  • <Key> - ключ.

Пример:

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> - ключ.

Пример:

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



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

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

Пример:

Set Dict = CreateObject("Scripting.Dictionary")

Dict.Add "a", "One"

Dict.Add 1, "Two"

Dict.RemoveAll

MsgBox Dict.Count



3.5. Items

Синтаксис:

Items



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

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

Пример:

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



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

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

Пример:

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
Яндекс индекс цитирования