配置Office 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
安装前,勾选Add Python 3.x to 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
或点击此处直接下载





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

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

测试安装是否正确
1.将创建的data.xlsx文件另存为data.xlsm宏文件。
2.回到Excel,点击ExcelPython标签的Setup ExcelPython按钮

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

4.打开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

5.回到Excel中,点击ExcelPython标签的Import Python UDFs按钮

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

效果如图

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

效果如图

至此,可以使用Python进行Excel宏的开发
本文链接: https://www.cnblogs.com/connect/p/office-excel-python-conf.html
配置Office Excel运行Python宏脚本的更多相关文章
- 配置Notepad++直接运行Python、Perl、C、C++、Java
运行(F5),输入命令并保存 cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT cmd ...
- bat文件一键运行python自动化脚本
目标:建立一个双击即可运行自动化脚本的机制,而不用每次运行编译器,方便测试人员用户体验. 方法: 1. 将所有代码打包成exe文件,但一旦修改,又要重新打包. 2. 将运行代码写成bat文件,双击即执 ...
- 怎样用QtCreator编辑运行python脚本
QtCreator作为一款开发基于qt库的程序.以及开发C语言.c++语言项目都是一个利器,轻便好用.那么作为开发者来说,经常换着使用各种IDE是家常便饭,但是要是这些语言都能够集成到一个工具里岂不是 ...
- Appium环境的安装与配置,Python测试脚本测试
Appium自动化测试系列1 - Appium环境的安装与配置 发表于4个月前(2015-01-27 14:34) 阅读(803) | 评论(0) 0人收藏此文章, 我要收藏 赞0 寻找 会’偷懒 ...
- python学习 —— 获取系统运行情况信息并在Linux下设置定时运行python脚本
代码: # -*- coding:utf-8 -*- from psutil import * def cpu_usage_rate(): for i, j in zip(range(1, cpu_c ...
- Office宏病毒学习第一弹--恶意的Excel 4.0宏
Office宏病毒学习第一弹--恶意的Excel 4.0宏 前言 参考:https://outflank.nl/blog/2018/10/06/old-school-evil-excel-4-0-ma ...
- 如何在命令行里运行python脚本
python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写.python在生物信息.统计.网页制作.计算等多个领域都体现出了强大的功能.python和其他脚本语言如java.R ...
- Windows 用bat脚本带配置启动redis,并用vb脚本使其在后台运行。
最近,在Windows上用开发PHP程序,需要用到Redis,每天要打开一个运行redis-server.exe的窗口这样比较烦,因为窗口就一直打开着,不能关闭. 所以就想着通过写脚本的方式,让他在后 ...
- 配置Sublime Text2的python运行环境(Sublime Text 3也类似)
1. 前言 用Sublime Text 2 配置Python运用环境,有简单配置还有像IDLE一样的配置,本文分成第一部分和第二部分. 2. 配置 第一部分(简单配置) 1.只需要打开Pref ...
随机推荐
- Webpack打包效率优化篇
Webpack基础配置: 语法解析:babel-loader 样式解析:style-loader css解析:css-loader less解析:less-loader 文件解析:url-loader ...
- 织梦(dede)底层模板概念、常用底层模板字段
织梦(dede)底层模板概念.常用底层模板字段 一.底层模板的概念以及调用方式: 1. 什么是底层模板? 底层模板不是一个模板! 他就是在实际页面当中所要显示的具体内容: 2. 底层模板的应用: 调用 ...
- linux初学者-软件安装与管理篇
linux初学者-软件安装与管理篇 在linux的学习和工作中需要安装许多的软件.在redhat的linux操作系统下,软件一般都是rpm格式的.以下将介绍一些软件安装和管理的内容. 1.软件名称 在 ...
- web设计_2_灵活的文字
最佳设计:可以让用户自由控制任何页面的文字大小. 浏览器中用户都是可以自定义默认的文字大小的,如果使用 px,用户自行在浏览器设置中改变了文字大小后,网页上是不会变化的.我们不能排除视障用户(如近视) ...
- Xcode 常用
常用快捷键: 1. 运行程序 command + R 2. Clean command + shift + K 3. 模拟器上没 Home 键? command + shift + H 4. h 文件 ...
- 利用dockerfile 安装一个nginx-1.14.1
FROM docker.io/centos MAINTAINER jim 107420988@qq.com ENV TZ "Asia/Shanghai" #ENV TERM xte ...
- scripts may close only the windows that were opened by it 浏览器JS控制无法关闭当前页面
非window.open形式打开的子页面用js的window.close在chrome下就会提示scripts may close only the windows that were opened ...
- C#连接SQL Anywhere 12 数据库
using System;using System.Data.Common; namespace ConsoleApplication27{ class Program { ...
- SpringBoot-Admin的使用
[**前情提要**]Spring Boot Actuator 提供了对单个 Spring Boot 应用的监控,信息包含应用状态.内存.线程.堆栈等,比较全面的监控了 Spring Boot 应用的整 ...
- ZDog:简单便捷好玩的的3D设计和动画制作库
各位老铁,我灰太狼又又又回来了,嘿嘿!!!!最近在忙所以有日子没写博客了,今天带大家看个好玩的东西 这个东西是今天偶尔看到的,是啥呢,难道是漂亮的小姐姐吗?当然是......不可能的了,这个东西其实就 ...