python调用excel的宏_在 Excel 中使用 Python 开发宏脚本

085322upf84v4xce848xel.jpg文 | 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就停止服务了...)

085322lddwxmw0vjv1ijrm.jpg

2.安装Python

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

085322cjfyi3asffa0ebt4.jpg

3.检查是否安装成功

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

085322o33cubp23n5k9dc2.jpg

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

或[点击此处]直接下载

085322evyl59dyeso9dyy5.jpg

085322qa7hqkpbekb3qgl3.jpg

085322ltcltex5tez1thlg.jpg

085322p76k67ui6ulkfqf2.jpg

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

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

085323w0v6fntv3yh4zc65.jpg

测试安装是否正确

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

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

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

085323laj4tmbebmsmgbtj.jpg4.打开 data.py编辑,写入以下内容

from xlpython import *

import random

@xlfunc

def getRandomBirth:

y = random.randint(1980, 2000)

m = random.randint(1, 12)

d = random.randint(1, 28)

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

@xlfunc

def getAge(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

return age

085323z995162ng5a9b5hn.jpg5.回到Excel中,点击 ExcelPython标签的ImportPythonUDFs按钮

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

085323y5fun6fw9rvr9iir.jpg效果如图

085325k0au0d981aqmm91z.jpg7.在Excel中使用定义的第二个函数

085325p8tkl6czqkla9c9w.jpg效果如图

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

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

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

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 授权。

本文仅代表作者个人观点,不代表SEO研究协会网(www.seoxiehui.cn)官方发声,对观点有疑义请先联系作者本人进行修改,若内容侵权或非法,请先联系发布者或作者删除,若需平台协助请联系平台管理员,邮箱cxb5918@163.com。学习互联网营销技术请到巨推学院www.jutuiedu.com。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值