что такое item в vba

Метод Item

Возвращает определенный член объекта Collection либо по позиции, либо по ключу.

Синтаксис

объект. Item(index)

Синтаксис метода Item имеет следующий квалификатор объекта и часть.

PartОписание
objectОбязательный. Выражение объекта, которое оценивает объект в списке Applies To.
indexОбязательный. Выражение expression, задающее позицию элемента коллекции. Если числовое выражение, индекс должен быть числом от 1 до значения свойства Count коллекции. Если выражение строки, индекс должен соответствовать ключевому аргументу, указанному при добавлении участника в коллекцию.

Примечания

Если значение, предоставленного в качестве индекса, не соответствует существующему члену коллекции, возникает ошибка. Метод Item является методом по умолчанию для коллекции. Поэтому следующие строки кода являются эквивалентными:

Пример

В этом примере используется метод Item для получения ссылки на объект в коллекции. Если считать объектом Collection, следующий код извлекает из коллекции ссылки на объекты, представляющие день рождения Билла Смита и день рождения Адама Смита, используя в качестве аргументов индекса Birthdays клавиши «SmithBill» и «SmithAdam».

Обратите внимание, что первый вызов явным образом задает метод Item, однако второй — нет. Оба вызова работают, поскольку метод Item является методом по умолчанию для объекта Collection. Ссылки, заданные и SmithBillBD SmithAdamBD использующие Set, можно использовать для доступа к свойствам и методам указанных объектов.

Чтобы запустить этот код, создайте соответствующую коллекцию и заполните ее по крайней мере двумя указанными элементами.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Метод item (VBA Add-In объектная модель)

Возвращает индексированный элемент коллекции.

Синтаксис

объект. Item (index)

Синтаксис метода Item включает следующие элементы:

PartОписание
objectОбязательный. Выражение объекта, которое оценивает объект в списке Applies To.
indexОбязательный. Выражение, указывающее положение элемента в коллекции. Если числовое выражение, индекс должен быть числом от 1 до значения свойства Count коллекции. Если выражение строки, индекс должен соответствовать ключевому аргументу, указанному при добавлении участника в коллекцию.

В следующей таблице перечислены коллекции и соответствующие ключевые аргументы для использования с методом Item. Строка, которую вы передаете методу Item, должна соответствовать ключевому аргументу коллекции.

CollectionАргумент key
WindowsПараметр свойства caption
LinkedWindowsНастройка свойства Caption
CodePanesДанная коллекция не имеет уникальной строки.
VBProjectsПараметр свойства name
VBComponentsНастройка свойства Name
ReferencesНастройка свойства Name
СвойстваНастройка свойства Name

Примечания

Аргумент index может быть числовым значением или строкой, содержащей заголовок объекта.

Объекты, свойства и методы для управления связанными окнами, связанными рамками окон и закрепленными окнами включены в систему Macintosh для обеспечения совместимости с кодом, написанным в Windows. Однако эти элементы языка будут создавать ошибки во время выполнения в системе Macintosh.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

VBA Excel. Объект Collection (создание, методы, примеры)

Создание объекта Collection с помощью кода VBA Excel. Методы коллекции и синтаксис выражений с ними. Свойство Count и примеры кода.

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

Создать новый экземпляр Collection в коде VBA Excel можно двумя строками:

Лист автоматической вставки объектов, методов и свойств (лист подсказок) предоставит при написании кода VBA Excel простой доступ к методам Add, Item, Remove и свойству Count объекта Collection:
что такое item в vba. picture63. что такое item в vba фото. что такое item в vba-picture63. картинка что такое item в vba. картинка picture63.
Лист подсказок отображается автоматически после ввода точки или, в иных случаях, вызывается сочетанием клавиш «Ctrl+Пробел».

Методы и свойство коллекции

Метод Add

Метод Add добавляет новый элемент в объект Collection.

Синтаксис метода Add:

Компоненты метода Add:

* Аргументы «До» и «После» не могут применяться одновременно. Если аргументу «До» или «После» присвоено числовое значение, оно должно быть в пределах диапазона от 1 до значения свойства Collection.Count. Если это строка, она должна соответствовать одному из ключей существующих в коллекции элементов.

Метод Item

Метод Item возвращает элемент объекта Collection по индексу позиции или по ключу.

Синтаксис метода Item объекта Collection:

Компоненты метода Item:

Метод Remove

Метод Remove удаляет элемент из объекта Collection по индексу позиции или по ключу.

Синтаксис метода Remove объекта Collection:

Компоненты метода Remove:

Свойство Collection.Count

Свойство Count объекта Collection возвращает количество элементов в коллекции.

Примеры кода с объектом Collection

Пример 1
Создание нового экземпляра объекта Collection, добавление в коллекцию трех элементов, определение количества элементов в коллекции, извлечение одного и того же элемента по индексу и по ключу:

Источник

Объект Collection

Объект Collection — это упорядоченный набор элементов, который может называться блоком.

Примечания

Объект Collection предоставляет удобный способ ссылки на связанную группу элементов как на один объект. Элементы или элементы в коллекции должны быть только связаны тем фактом, что они входят в коллекцию. Элементы коллекции могут иметь разные типы данных.

Коллекция может создаваться таким же способом, как и другие объекты. Например:

После создания коллекции можно добавлять членов с помощью метода Add и удалять с помощью метода Remove. Конкретные члены могут быть возвращены из коллекции с помощью метода Item, в то время как вся коллекция может быть итерирована с помощью for Each. Следующее утверждение.

Пример

В этом примере создается объект Collection (), а затем создается диалоговое окно, в котором пользователи могут добавлять объекты MyClasses в коллекцию.

Чтобы узнать, как это работает, выберите команду «Модуль класса» из меню Вставить и объявите об общедоступных переменной, называемой на уровне модуля InstanceName Класса1 (тип Public), чтобы держать имена каждого InstanceName экземпляра. Оставьте Class1 в качестве имени по умолчанию. Скопируйте и вклейте следующий код в общий раздел другого модуля, а затем запустите его с утверждения ClassNamer в другой процедуре.

(Этот пример работает только с ведущими приложениями, которые поддерживают классы.)

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Коллекции (Visual Basic)

Во многих приложениях требуется создавать группы связанных объектов и управлять ими. Существует два способа группировки объектов: создать массив объектов и создать коллекцию.

Массивы удобнее всего использовать для создания фиксированного числа строго типизированных объектов и работы с ними. Информацию о массивах см. в разделе Массивы.

Коллекции предоставляют более гибкий способ работы с группами объектов. В отличие от массивов, коллекция, с которой вы работаете, может расти или уменьшаться динамически при необходимости. Некоторые коллекции допускают назначение ключа любому объекту, который добавляется в коллекцию, чтобы в дальнейшем можно было быстро извлечь связанный с ключом объект из коллекции.

Коллекция является классом, поэтому необходимо объявить экземпляр класса перед добавлением в коллекцию элементов.

Если коллекция содержит элементы только одного типа данных, можно использовать один из классов в пространстве имен System.Collections.Generic. Универсальная коллекция обеспечивает строгую типизацию, так что в нее нельзя добавить другие типы данных. При извлечении элемента из универсальной коллекции не нужно определять или преобразовывать его тип данных.

Для примеров в этом разделе включите операторы Imports для System.Collections.Generic System.Linq пространств имен и.

Использование простой коллекции

В следующем примере создается список строк, а затем выполняется итерация по строкам с помощью цикла For Each. Следующий оператор.

Если содержимое коллекции известно заранее, для ее инициализации можно использовать инициализатор коллекции. Дополнительные сведения см. в разделе Инициализаторы коллекций.

Следующий пример аналогичен предыдущему за исключением того, что для добавления элементов в коллекцию используется инициализатор коллекции.

В приведенном ниже примере элемент удаляется из коллекции путем указания удаляемого объекта.

В приведенном ниже примере удаляются элементы из универсального списка. Вместо For Each оператора, a для. Используется оператор Next, который выполняет итерацию в убывающем порядке. Связано это с тем, что в результате работы метода RemoveAt элементы, следующие за удаленным элементом, получают меньшее значение индекса.

Виды коллекций

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

класс Collection в Visual Basic.

Классы System.Collections.Generic

Универсальную коллекцию можно создать, используя один из классов в пространстве имен System.Collections.Generic. Универсальная коллекция применяется в том случае, если все элементы в коллекции имеют одинаковый тип данных. Универсальная коллекция обеспечивает строгую типизацию, позволяя добавлять данные только необходимого типа.

В таблице ниже перечислены некоторые из часто используемых классов пространства имен System.Collections.Generic.

Классы System.Collections.Concurrent

Классы пространства имен System.Collections.Concurrent следует использовать вместо соответствующих типов пространств имен System.Collections.Generic и System.Collections, если несколько потоков параллельно обращаются к такой коллекции. Дополнительные сведения см. в статьях Потокобезопасные коллекции и System.Collections.Concurrent.

Классы System.Collections

В следующей таблице перечислены некоторые из часто используемых классов пространства имен System.Collections :

КлассОписание
ArrayListПредставляет массив объектов, размер которого динамически увеличивается по мере необходимости.
HashtableПредставляет коллекцию пар «ключ-значение», которые упорядочены по хэш-коду ключа.
QueueПредставляет коллекцию объектов, которая обслуживается в порядке поступления (FIFO).
StackПредставляет коллекцию объектов, которая обслуживается в обратном порядке (LIFO).

Пространство имен System.Collections.Specialized предоставляет специализированные и строго типизированные классы коллекций, такие как коллекции строк, связанные списки и гибридные словари.

Класс Collection в Visual Basic

Везде, где это возможно, следует использовать универсальные коллекции в пространстве имен System.Collections.Generic или пространстве имен System.Collections.Concurrent вместо класса Collection в Visual Basic.

Дополнительные сведения см. в разделе Collection.

Реализация коллекции пар «ключ-значение»

Универсальная коллекция Dictionary позволяет получить доступ к элементам коллекции с помощью ключа каждого элемента. Каждый элемент, добавляемый в словарь, состоит из значения и связанного с ним ключа. Извлечение значения по его ключу происходит быстро, так как класс Dictionary реализован как хэш-таблица.

В приведенном ниже примере используется метод ContainsKey и свойство Item[] Dictionary для быстрого поиска элемента по ключу. Item Свойство позволяет получить доступ к элементу в коллекции с elements помощью elements(symbol) кода в Visual Basic.

В приведенном ниже примере вместо этого используется метод TryGetValue для быстрого поиска элемента по ключу.

Использование LINQ для доступа к коллекции

Для доступа к коллекции можно использовать язык LINQ. Запросы LINQ обеспечивают возможности фильтрации, упорядочения и группировки. Дополнительные сведения см. в разделе Начало работы с LINQ в Visual Basic.

Сортировка коллекции

Каждый вызов метода CompareTo выполняет одно сравнение, используемое для сортировки. Написанный пользователем код в методе CompareTo возвращает значение для каждого сравнения текущего объекта с другим объектом. Возвращаемое значение меньше нуля, если текущий объект меньше другого объекта, больше нуля, если текущий объект больше другого объекта, и равняется нулю, если объекты равны. Это позволяет определить в коде условия для отношения «больше», «меньше» и «равно».

Определение настраиваемой коллекции

Вы можете определить коллекцию, реализовав интерфейс IEnumerable или IEnumerable. Дополнительные сведения см. в разделе Перечисление коллекции.

Iterators

Для вызова итератора используется оператор For Each. Следующий оператор. Каждая итерация цикла For Each вызывает итератор. При достижении оператора Yield в итераторе возвращается выражение, и текущее расположение в коде сохраняется. При следующем вызове итератора выполнение возобновляется с этого места.

Дополнительные сведения см. в разделе итераторы (Visual Basic).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *