乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel宏-在 Excel 中使用 Python 开发宏脚本

excel宏-在 Excel 中使用 Python 开发宏脚本

作者:乔山办公网日期:

返回目录:excel表格制作

文 | varlemon


编辑 | EarlGrey


推荐 | 编程派公众号ID:codingpy)


之前发文介绍过一个叫GridStudio的神器,可以在网页版应用中将 Python 与表格处理结合起来。但是那并不是真正地在 Excel 中使用 Python 了,今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python。


公众号:编程派Python 与 Excel 终于在一起了



基本环境

  • 操作系统:Windows 10 x64


  • Office:2016



安装Python

1.下载Python安装包

登录[https://www.python.org/downloads/windows/]进行下载 Python2.x或Python3.x均可,推荐Python3.x(因为2020年1月1日起Python2就停止服务了...)



2.安装Python

安装前,勾选 AddPython3.xto PATH选项。安装完毕之后,在Windows控制台可直接使用python命令。



3.检查是否安装成功

Win+R,打开运行,输入PowerShell,打开命令行。输入python-V,查看Python版本号。



4.安装PythonWin32库

Python2.x 按以下方式安装


  1. pip install pypiwin32 -i https://mirrors.aliyun.com/pypi/simple/


Python3.x 按以下方式安装


  1. pip install pywin32 -i https://mirrors.aliyun.com/pypi/simple/



安装ExcelPython

1.从[https://sourceforge.net/projects/excelpython/files/]处,下载 ExcelPython


或[点击此处]直接下载


2.新建一个Excel文件,打开可在标签栏显示 ExcelPython标签


3.打开Excel选项——信任中心——信任中心设置——宏设置——安全性,选中“信任对于VBA工程对象模型的访问”,按确定即可。



测试安装是否正确

1.将创建的 data.xlsx文件另存为data.xlsm宏文件。


2.回到Excel,点击 ExcelPython标签的SetupExcelPython按钮


3.桌面上会出现一个名为 xlpython的文件夹,以及一个与*.xlsm文件同名的*.py文件。


4.打开 data.py编辑,写入以下内容


  1. from xlpython import *


  2. import random



  3. @xlfunc


  4. def getRandomBirth:


  5. y = random.randint(1980, 2000)


  6. m = random.randint(1, 12)


  7. d = random.randint(1, 28)


  8. return str(y)+'/'+str(m)+'/'+str(d)



  9. @xlfunc


  10. def getAge(d):


  11. _today = [ 2019, 8, 30 ]


  12. _list = str(d).split('/')


  13. age = _today[0] - int(_list[0])


  14. if _today[1] < int(_list[1]):


  15. age -= 1


  16. elif _today[1] == int(_list[1]):


  17. if _today[2] < int(_list[2]):


  18. age -= 1


  19. else:


  20. pass


  21. else:


  22. pass


  23. return age


5.回到Excel中,点击 ExcelPython标签的ImportPythonUDFs按钮


6.使用Python中定义的函数 在输入框中输入 =getRandomBirth


效果如图


7.在Excel中使用定义的第二个函数


效果如图


至此,可以使用Python进行Excel宏的开发。


  1. [https://www.python.org/downloads/windows/]: https://www.python.org/downloads/windows/


  2. [https://sourceforge.net/projects/excelpython/files/]: https://sourceforge.net/projects/excelpython/files/


  3. https://files.cnblogs.com/files/connect/excelpython-2.0.8.zip


原文链接:https://www.cnblogs.com/connect/p/office-excel-python-conf.html


# 文末送书活动 #


活动规则大家请一定要查看,点击这篇推文哦:从今天起,每天至少送大家一本书


这篇推文的福利赠书,还是我自己翻译的《Python编程无师自通》(先累计送 3 本),送给本篇文章点赞最多的精选留言者。下一篇推文会换一本,书籍的详细介绍可以点击下面的链接查看。


回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版


回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版


回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


题图:pexels,CC0 授权。


本文标签:excel宏(89)

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网