我在Python中编写了很多代码,因此我非常习惯Python的语法,对象结构等.
什么是最好的在线指南或资源网站,为我提供基础知识,以及在VBA与Python中具有相同功能/特性的比较或查找指南.
例如,我在将Python中的简单List与VBA代码等同起来时遇到了麻烦.我也遇到数据结构问题,例如字典等等.
有哪些资源或教程可以为我提供将python功能移植到VBA的指南,或者只是从强大的OOP语言背景中调整VBA语法?
VBA与Python完全不同,因此您应该至少阅读您将要使用的应用程序提供的"Microsoft Visual Basic帮助"(Excel,Access ...).
一般来说,VBA相当于Python模块; 它们被称为"库",它们不像Python模块那样容易创建.我提到它们是因为Libraries将为您提供可以使用的更高级别的类型.
作为一个初创的推动,有两种类型可以替代list
和dict
.
list
VBA有这种类型Collection
.它默认可用(它在库中VBA
).所以你只需要做一个
dim alist as New Collection
,从那时起,你可以使用它的方法/属性:
.Add(item)
(list.append(item)),
.Count
(len(list)),
.Item(i)
(列表[i])和
.Remove(i)
(del list [i]).很原始,但它就在那里.
您也可以使用VBA数组类型,类似于python数组是相同类型项的列表,并且与python数组不同,您需要ReDim
更改它们的大小(即,您不能只是追加和删除项)
dict
要拥有类似字典的对象,您应该将Scripting库添加到VBA项目¹.之后,您可以
Dim adict As New Dictionary
使用其属性/方法:
.Add(key, item)
(dict [key] = item),
.Exists(key)
(dict.has_key [key]),
.Items()
(dict.values()),
.Keys()
(dict.keys()),
以及您将在对象浏览器中找到的其他内容.
¹打开VBA编辑器(Alt + F11).转到工具→引用,然后检查列表中的"Microsoft Scripting Runtime".
²要查看对象浏览器,请在VBA编辑器中按F2(或视图→对象浏览器).