VBA сильно отличается от Python, поэтому вам следует прочитать хотя бы «Справку по Microsoft Visual Basic», предоставляемую приложением, которое вы собираетесь использовать (Excel, Access…).
Вообще говоря, VBA имеет эквивалент модулей Python; они называются «библиотеками», и их не так просто создать, как модули Python. Я упоминаю о них, потому что библиотеки предоставят вам типы более высокого уровня, которые вы можете использовать.
В качестве толчка при запуске есть два типа, которые можно заменить на list
и dict
.
list
VBA имеет тип Collection
. Он доступен по умолчанию (находится в библиотеке VBA
). Итак, вы просто выполняете
dim alist as New Collection
, и с этого момента вы можете использовать его методы / свойства:
.Add(item)
(list.append (элемент)),
.Count
(len (список)),
.Item(i)
(список [i]) и
.Remove(i)
(список [я]). Очень примитивно, но оно есть.
Вы также можете использовать тип VBA Array, который, как и массивы python, представляет собой списки элементов одного типа, и, в отличие от массивов python, вам нужно сделать ReDim
, чтобы изменить их размер (т.е. вы не можете просто добавлять и удалять элементы)
dict
Чтобы иметь объект, подобный словарю, вы должны добавить библиотеку сценариев в свой проект VBA¹. После этого вы можете
Dim adict As New Dictionary
, а затем использовать его свойства / методы:
.Add(key, item)
(dict [ключ] = элемент),
.Exists(key)
(dict.has_key [ключ]),
.Items()
(dict.values ()),
.Keys()
(dict.keys ()),
и другие, которые вы найдете в Object Browser².
¹ Откройте редактор VBA (Alt + F11). Перейдите в Инструменты → Ссылки и отметьте в списке «Microsoft Scripting Runtime».
² Чтобы увидеть обозреватель объектов, в редакторе VBA нажмите F2 (или «Просмотр» → «Обозреватель объектов»).
person
tzot
schedule
09.10.2008