首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向Python程序员的资源

面向Python程序员的资源
EN

Stack Overflow用户
提问于 2008-09-16 20:48:06
回答 8查看 9.2K关注 0票数 21

我用Python写了很多代码,因此我非常熟悉Python的语法、对象结构等。

什么是最好的在线指南或资源站点,为我提供基础知识,以及VBA与Python中功能相当的比较或查找指南。

例如,我很难将Python中的简单列表等同于VBA代码。我在数据结构方面也遇到了问题,比如字典等等。

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

EN

回答 8

Stack Overflow用户

发布于 2008-10-09 09:52:30

VBA与Python有很大的不同,因此您至少应该阅读将要使用的应用程序(Excel、Access…)所提供的"Microsoft Visual Basic帮助“。。

一般来说,VBA具有等同于Python模块的功能;它们被称为“库”,并且不像Python模块那样容易创建。我之所以提到它们,是因为库将为您提供可以使用的更高级别的类型。

作为启动推动,有两种类型可以替代listdict

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 (或查看→对象浏览器)。

票数 25
EN

Stack Overflow用户

发布于 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

票数 2
EN

Stack Overflow用户

发布于 2008-09-16 20:57:02

可能不完全是您想要的,但如果您有一些编程背景,这是一个不错的VBA站点。这不是一个列表,更多的是一个问题/解决方案

http://www.mvps.org/access/toc.htm

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/76882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档