Python程序员的资源

20 python vba porting

我在Python中编写了很多代码,因此我非常习惯Python的语法,对象结构等.

什么是最好的在线指南或资源网站,为我提供基础知识,以及在VBA与Python中具有相同功能/特性的比较或查找指南.

例如,我在将Python中的简单List与VBA代码等同起来时遇到了麻烦.我也遇到数据结构问题,例如字典等等.

有哪些资源或教程可以为我提供将python功能移植到VBA的指南,或者只是从强大的OOP语言背景中调整VBA语法?

tzo*_*zot 24

VBA与Python完全不同,因此您应该至少阅读您将要使用的应用程序提供的"Microsoft Visual Basic帮助"(Excel,Access ...).

一般来说,VBA相当于Python模块; 它们被称为"库",它们不像Python模块那样容易创建.我提到它们是因为Libraries将为您提供可以使用的更高级别的类型.

作为一个初创的推动,有两种类型可以替代listdict.

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(或视图→对象浏览器).


Jia*_*aro 2

本教程不是“针对 python 程序员”的,但我认为它是一个非常好的 vba 资源:

http://www.vbtutor.net/VBA/vba_tutorial.html

该网站使用列表回顾了一个现实世界的示例:

http://www.ozgrid.com/VBA/count-of-list.htm