1、python调用 VBA

假定我们的excel里边有个vba函数:foo,参数是args

其 VBA函数为

Sub test() 《============这个函数很重要,对应着python

Dim m

m = 1

Columns("G:G").Select

m = 1

On Error GoTo Err_Handle

For m = 1 To 65

Selection.Find(What:="男", After:=ActiveCell, LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _

False, MatchByte:=False, SearchFormat:=False).Activate

ActiveCell.Replace What:="男", Replacement:="1", LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

ReplaceFormat:=False

Next m

Exit Sub

Err_Handle:

End Sub

PYTHON 调用

必须另存为xlsm文件格式

2. 第二,在执行Python脚本的时候必须是打开excel的

3. 必须新建模块(vba中)

4. vba代码必须有函数

5. office必须开启宏,否则不生效  6. 打开vba快捷键alt + f11

模块.png

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import win32com.client #导入模块

filename = "C:/Users/Administrator/Desktop/test.xlsm"

xls=win32com.client.Dispatch("Excel.Application")

xls.Workbooks.Open(Filename=filename) #文件路径

xls.DisplayAlerts = 0 #不显示警告信息

ret = xls.Application.Run("foo", args) #vba函数即参数

xls.Application.Quit() #运行完退出

2、xlwings:操作Excel,通过宏调用Pyhton(VBA调Python)

原文:

https://blog.csdn.net/qcyfred/article/details/80300354

xlwings的安装方式(更简单,如果有效的话,但不确定是否有效,慎重!)

1)安装xlwings

pip install xlwings -i https://pypi.tuna.tsinghua.edu.cn/simple

查看版本

xlwings -V

显示最新版 :

xlwings 0.19.1

2)安装addin --是XLwings自带的

xlwings addin install

3)找到xlwings的addin文件夹,打开xlwings.xlam文件:

位置:

C:\Program Files\Anaconda3\Lib\site-packages\xlwings\addin\xlwings.xlam

双击打开文件xlwings.xlam

image.png

勾选RunPython: Use UDF Server

这样一旦执行py的话,会启一个黑窗口,此后执行py速度要比不勾选快

4)在EXCEL上,勾选VBA对xlwings支持:

开发工具--查看代码

打开代码选项。

然后:工具-应用--选择 xlwings

image.png

5)配置编译器 和 需要执行的py文件路径

image.png

interpreter:编译器,找到python.exe(我的是anaconda 3, 一步到位)

PYTHONPATH:py文件路径

6) 写宏,插入按钮,绑定宏

Sub hi()

RunPython ("from xw import say_hi; say_hi()") ‘xw为py文件,say_hi为函数名

End Sub

image.png

image.png

say_hi.py文件内容:

# -*- coding: utf-8 -*-

import xlwings as xw

def say_hi():

wb = xw.Book.caller()

sht = wb.sheets[0]

sht.range('A1').value = 'Hello, world'

7)开发工具 - 插入 - 表单控件(按钮)

编辑文字,指定宏

最后,点击按钮,Done!

python与vba_萝卜头python:PYTHON 与VBA互调相关推荐

  1. 微软 python替代vba_微软将要用Python取代VBA,Python工程师又双叒叕要涨薪了!

    微软在上个月开启了一个针对 Excel 功能的话题,用以收集用户的反馈.随后有用户提议让Python成为Excel的一种脚本语言,不仅可以作为VBA的替代品,而且也可以作为字段函数(= SUM(A1: ...

  2. Excel的Python开发插件-- 完全替代陈旧的VBA

    Excel数据分析处理和呈现利器-PyXLL技术特色介绍 "python开发环境和EXCEL的桥梁" 在Excel中窥探Python的神奇世界 Python已经在大数据分析,数据挖 ...

  3. python如何编程-如何入门Python编程

    Python目前已经成为受欢迎的编程语言之一,吸引了一大批粉丝,但是很多人在要跨入的时候犹豫了,原因竟然是觉得学习Python太难了,真的是这样吗?入门Python编程学习有什么好的技巧吗? Pyth ...

  4. python数据分析与excel_读Python数据分析基础之Excel读写与处理

    对于业务型数据分析来说,Excel可以说是打交道最多的软件了,可以说没有之一.之前有比较系统地读过<Python数据分析基础>(Foundations for Analysis with ...

  5. python索引例子_谈谈python中的索引

    最近以python为工具,取代VBA处理工作中Excel遇到的小问题,我觉得其优点:一是语言更清爽友善,因为VBA的语言一来IDE难用,语法风格不大气优雅(我个人的见解):二是,我一直怀疑Excel对 ...

  6. excel调用python编程-超简单:用Python让Excel飞起

    本书对于编程知识零基础的办公人士特别友好,其摒弃了晦涩的理论讲解,引入了实用的办公场景,为办公人士开辟了一条学习办公自动化的新路.本书精选典型办公案例以及通俗易懂的讲解,有助于办公人士掌握Python ...

  7. [转载] excel调用python编程-超简单:用Python让Excel飞起

    参考链接: Python | 使用XlsxWriter模块在Excel工作表中绘制饼图 本书对于编程知识零基础的办公人士特别友好,其摒弃了晦涩的理论讲解,引入了实用的办公场景,为办公人士开辟了一条学习 ...

  8. python写金字塔_金字塔python开发手册

    python API 基本方法 编写策略过程中所需要使用的基本函数.其中init和handle_bar是必须实现的两个方法,其余是可选择实现的方法. init (必须实现) init(context) ...

  9. python遥感图像处理_基于Python的矿山遥感监测系统开发方法

    目前,很多学者都是从宏观上讨论遥感和GIS一体化集成的可能性及集成的方法,但这些研究在GIS和RS方向只是对Python集成研究的思路或某一功能的介绍,并没有一个基于Python开发的集成GIS与RS ...

最新文章

  1. 禁止ScrollView在子控件的布局改变时自动滚动的的方法
  2. WPC大会新动态:合作伙伴采纳Windows Azure
  3. 绘制分类界面以及性能曲面中的meshgrid函数
  4. 使用Oracle中fileopen命令加载文件时遇到的怪问题(转)
  5. MATLAB-字符串
  6. oracle取本月最后一天是星期几_oracle SQL语句取本周本月本年的数据
  7. 项目经理主要工作职责
  8. 探索Java日志的奥秘:底层日志系统-log4j2
  9. Java项目构建管理Maven的安装与配置
  10. C++笔记(9) 模板,向量和栈
  11. python os write_Python os.write() 方法
  12. MFS分布式文件系统搭建
  13. linux 使用 ioctl 参数
  14. 转http://www.anyliz.com/blog/article/Software/favorites-software-official-download-url.htm
  15. phpmyadmin 安装下载使用教程
  16. 嵌入式Linux--MYS-6ULX-IOT--构建交叉编译环境
  17. [ARC120F]Wine Thief
  18. matlab混频器的实现
  19. AD中对PCB的滴泪和敷铜操作
  20. 破解苹果电脑开机密码

热门文章

  1. 2022面试相关 - react相关原理
  2. 计算机网络系列--运输层
  3. 软件架构师的要求介绍
  4. VC++6.0 MFC COleDateTime 格式化
  5. 企业如何处理网上百度知道的负面信息?
  6. 什么是实验室信息管理
  7. 使用SourceTree可视化更新git代码
  8. 嵌入式audio基础(三)总线
  9. 斐波拉契数的几种求法
  10. 环洋市场调研-2022年全球钙片市场总体规模及应用细分研究报告