基本环境

名称版本
操作系统Windows 10 x64
Office2016

安装 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

点击此处直接下载

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

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

测试安装是否正确

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

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

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

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

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

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

效果如图

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

效果如图

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

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

Built with LogoFlowershow Cloud