我用Python写了很多代码,因此我非常熟悉Python的语法、对象结构等。
什么是最好的在线指南或资源站点,为我提供基础知识,以及VBA与Python中功能相当的比较或查找指南。
例如,我很难将Python中的简单列表等同于VBA代码。我在数据结构方面也遇到了问题,比如字典等等。
有哪些资源或教程可以为我提供将python功能移植到VBA的指南,或者仅仅是从强大的OOP语言背景中适应VBA语法?
发布于 2008-10-09 09:52:30
VBA与Python有很大的不同,因此您至少应该阅读将要使用的应用程序(Excel、Access…)所提供的"Microsoft Visual Basic帮助“。。
一般来说,VBA具有等同于Python模块的功能;它们被称为“库”,并且不像Python模块那样容易创建。我之所以提到它们,是因为库将为您提供可以使用的更高级别的类型。
作为启动推动,有两种类型可以替代list和dict。
list
VBA的类型为Collection。默认情况下它是可用的(它在库VBA中)。所以你只需要做一个
dim alist as New Collection
从那时起,您可以使用它的方法/属性:
.Add(item) (list(Item ) )、.Count ( len(list) )、.Item(i) (List) and.Remove(i) ( del listi )。非常原始,但它就在那里。您还可以使用VBA Array类型,它像python数组一样是相同类型的项的列表,并且与python数组不同的是,您需要执行ReDim来更改它们的大小(即,您不能只是追加和删除项)
dict
要拥有一个类似字典的对象,您应该将脚本库添加到您的VBA项目中。之后,您可以
Dim adict As New Dictionary
然后使用它的属性/方法:
.Add(key, item) ( dictkey =项目)、.Exists(key) ( dict.has_keykey )、.Items() ( dict.values() )、.Keys() ( dict.keys() )、以及您可以在对象浏览器²中找到的其他内容。
²打开VBA编辑器(Alt+F11)。转到Tools→References,检查列表中的"Microsoft Scripting Runtime“。
²要查看对象浏览器,请在VBA编辑器中按F2 (或查看→对象浏览器)。
发布于 2008-09-16 20:54:11
本教程不是“为python程序员准备的”,但我认为它是一个很好的vba资源:
http://www.vbtutor.net/VBA/vba_tutorial.html
这个站点使用列表展示了一个真实世界的例子:
http://www.ozgrid.com/VBA/count-of-list.htm
发布于 2008-09-16 20:57:02
可能不完全是您想要的,但如果您有一些编程背景,这是一个不错的VBA站点。这不是一个列表,更多的是一个问题/解决方案
http://www.mvps.org/access/toc.htm
https://stackoverflow.com/questions/76882
复制相似问题