利用Python 开发 Excel 宏脚本的神器!
今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python。
基本环境
操作系统: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 按以下方式安装
pip install pypiwin32 -i https://mirrors.aliyun.com/pypi/simple/
Python3.x 按以下方式安装
pip install pywin32 -i https://mirrors.aliyun.com/pypi/simple/
安装ExcelPython
1.从[https://sourceforge.net/projects/excelpython/files/]处,下载 ExcelPython或[点击此处]直接下载
相关推荐:《Python教程》
2.新建一个Excel文件,打开可在标签栏显示 ExcelPython标签
3.打开Excel选项——信任中心——信任中心设置——宏设置——安全性,选中“信任对于VBA工程对象模型的访问”,按确定即可。
测试安装是否正确
1.将创建的 data.xlsx文件另存为 data.xlsm宏文件。
2.回到Excel,点击 ExcelPython标签的 SetupExcelPython按钮
3.桌面上会出现一个名为 xlpython的文件夹,以及一个与 *.xlsm文件同名的 *.py文件。
4.打开 data.py编辑,写入以下内容
fromxlpythonimport* importrandom @xlfunc defgetRandomBirth(): y=random.randint(1980,2000) m=random.randint(1,12) d=random.randint(1,28) returnstr(y)+/+str(m)+/+str(d) @xlfunc defgetAge(d): _today=[2019,8,30] _list=str(d).split(/) age=_today[0]-int(_list[0]) if_today[1]<int(_list[1]): age-=1 elif_today[1]==int(_list[1]): if_today[2]<int(_list[2]): age-=1 else: pass else: pass returnage
5.回到Excel中,点击 ExcelPython标签的 ImportPythonUDFs按钮
6.使用Python中定义的函数在输入框中输入 =getRandomBirth()
效果如图:
7.在Excel中使用定义的第二个函数
效果如图:
至此,可以使用Python进行Excel宏的开发。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.