vba函数python,vba函数传递数组

怎样通过python调用word或Excel中的vba函数

比如你在excel里边有个vba函数叫foo,参数是args

创新互联公司是一家集网站建设,剑阁企业网站建设,剑阁品牌网站建设,网站定制,剑阁网站建设报价,网络营销,网络优化,剑阁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

import win32com.client

xls=win32com.client.Dispatch("Excel.Application")

xls.Workbooks.Open(Filename="***.xls")

ret = xls.Application.Run("foo", args)

print ret

xls.Application.Quit()

python和vba哪个好用

其实两者皆可,15000行数据来说,根本不算多,前面几个回答都在推荐vba,这里我重点介绍一下python是如何处理excel的,涉及xlrd/xlwt、openpyxl和pandas,感兴趣的朋友可以尝试一下:

基础模块xlrd/xlwt

这是python比较基础的2个excel处理库,相信许多朋友都听说或使用过,xlrd专门用于读取excel数据,xlwt专门用于写入excel数据,常见的工作表、行列、单元格等基本操作,这2个库都可以轻松搞定,数据量比较多、内存不够的情况下,可以先读取一部分数据,处理完成后,再读取下一部分数据,这样电脑就不容易卡死,效率也能更高一些:

简单易用openpyxl

这也是一个比较常用的python excel处理库,和xlrd/xlwt一样,openpyxl也可以轻松进行excel读写,支持按行按列读取/删除数据、单元格合并/拆分、插入图表/图片、调用函数/公式等基本操作,只不过仅兼容xlsx/xlsm 2种格式,较早的xls读写会出错,数据量比较多的情况下,也可先读取一部分,处理一部分,循环递归,直到所有数据都处理完:

专业强大pandas

说起pandas,许多朋友应该非常熟悉,尤其是做数据分析和处理的,作为python一个强大、著名的数据分析库,pandas可以轻松处理日常各种数据格式,包括txt、csv、excel、json、mysql等,只需简单几行代码即可快速完成数据的导入和导出,同时内置的数据格式提供了非常方便的数据处理,数据量多的情况下,可以按块进行读取,每次读取固定大小的块,处理完成后,再读取下一个块,直到所有数据都处理完:

目前,就分享这3个python excel处理库吧,简单易用的就是xlrd/xlwt、openpyxl,专业强大,也比较高效的就是pandas,只不过都需要一定python基础才行,vba也行,但比较局限,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧

python和vba学哪个

Visual Basic for Apppcations(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言--------Visual Basic for Apppcation(VBA),实际上VBA是寄生于VB应用程序的版本。微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。(推荐学习:Python视频教程)

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Python是一种解释型脚本语言,可以应用于以下领域:

Web 和 Internet开发

科学计算和统计

人工智能

教育

桌面界面开发

软件开发

后端开发

据外媒报道,微软正考虑添加 Python 为官方的一种 Excel 脚本语言,如果获得批准,Excel 用户将能够像目前使用 VBA 脚本一样,使用 Python 脚本与 Excel 文档、数据以及一些 Excel 核心函数进行交互。

目前为止,超过 3883 人赞同将 Python 集成到 Excel 中,成为 VBA 替代品,甚至像单元格函数 functions (=SUM(A1:A2)) 也可以用 Python 函数 sum(a1, a2) 来代替

目前微软官方已经作出积极回应,通过发起投票来收集更多用户的反馈信息,在线调查用户想要如何在 Excel 中使用 Python 。

有用户认为,如果微软走这条路线,那么为便于日常使用,微软也需要在所有其他 Office 应用中支持 Python 。

更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python和vba学哪个的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

Python用xlwings调用VBA

xlwings是Python处理Excel的有力工具,xlwings的强大之处是可以调用vba里面的宏和各种函数。由于考虑到数据的安全性问题,宏在大部分的Excel文件当中是不可以被执行的。储备能够执行的宏的Excel一般是xlmt。Python跨工作簿调用宏是需要做一系列处理,需求传递工作表信息到宏才能执行。传递完成了,基本上vba里面宏录制的各种操作都可以批量执行。

如何在VBA中调用Python脚本

已有一个Python脚本实现了部分功能,想使用VBA直接调用Python脚本

Python脚本如下:

[python] view plain copy

import time

def hello(name):

return "Hello, " + name + "!"

print hello("World")

#延时关闭windows控制台,使得用户可以看到运行结果

time.sleep(150);

方法如下:

[python] view plain copy

pre name="code" class="vb"Sub test()

Call Shell("C:\Python27\Python.exe C:\Users\Hongxing\Desktop\py2exe\Hello.py", vbNormalFocus)

End Sub

VBA和Python难度对比有哪些?

VBA和Python难度对比有:把使用目的和场景从完成一些“小任务”上升到做一个完整的、可重复使用、考虑用户体验的project,则VBA的难度会上身。

VBA主要基于和嵌入在以MS Office为核心的使用环境,Python的使用和应用范围则更广,可以处理和VBA一样的数据分析,数据可视化,也可以进行编程开发等。

如果是在MS Office的环境下,例如MS Excel, Word,那么主要目的大概率上是为了提高日常处理数据的效率以及提高自动化程度。那么,我觉得Python会比较难学。

根据我自己在工作中的经验,VBA使用频率最高的“知识”不外乎Loop, IF statement,以及一些编程的基本原理和常识,例如declare variables, data type等。仔细学一下这些基本概念,上手VBA还是比较容易的。而且,别忘了VBA还有一个神助手,Macro (宏),它可以自动生成VBA code,可以直接复制过来用,也可以根据需自己的要进行修改。

学习方法:

1. 明确目标

对于零基础的学员而言,要明确你学习Python仅仅是为了满足好奇心?还是有工作需要,比如办公自动化的需要,转行的需要。不同的目标,所选用的学习内容和相应的学习方法也就会有所不同。

2. 选择内容

对于零基础学员,如要要达到使用Python的需要,那都是需要从Python基础知识进行系统学习的。

下面是参考的《零基础学Python》教材,为便于没有变成基础的同学学习,整理了下python基本知识点及对小白学员友好的学习顺序。


分享名称:vba函数python,vba函数传递数组
文章出自:http://scyanting.com/article/dscgpec.html