【python VS vba】(3) 在python直接调用vba脚本

这篇具有很好参考价值的文章主要介绍了【python VS vba】(3) 在python直接调用vba脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

0 前言

1 VBA 内容

1.1  EXCEL这边VBA的内容

1.2 VBA的测试代码

2 python 调用

2.1 python 调用VBA的过程和结果

2.2 代码


0 前言

前面写了这么多,没想到,其实py是可以直接支持VBA的

python的模块import xlwings,可以让python直接调用EXCEL工作簿文件里的VBA脚本

具体步骤如下

1 VBA 内容

1.1  EXCEL这边VBA的内容

试验环境:C:\Users\Administrator\Desktop\1001.xlsm,这个文件里包含这样一个VBA程序

VBA程序:放在测试EXCEL文件的模块里,写一个函数fuction如下

【python VS vba】(3) 在python直接调用vba脚本,python,开发语言

1.2 VBA的测试代码

Function test1901(a, b)

   Debug.Print "1901"
   test1901 = a * b

End Function

2 python 调用

2.1 python 调用VBA的过程和结果

  • 需要 import xlwings
  • 利用 wb = app.books.open() 打开EXCEL文件

app = xw.App(visible=True,add_book=False)
# 设置测试文件的路径
wb = app.books.open(r'C:\Users\Administrator\Desktop\1001.xlsm')

  • 直接调用EXCEL内的函数,使用 wb.macro() 函数即可,
  • 函数本身需要在EXCEL文件内
  • EXCEL文件可以不是打开状态

【python VS vba】(3) 在python直接调用vba脚本,python,开发语言

  • 副作用就是,如果EXCEL文件本身处于打开状态,PY会再打开一个这个文件的副本--只读副本
  • 再就是,因为每次调用都需要执行打开EXCEL文件的操作,有点卡有点慢
  • 如果是同时打开多个EXCEL文件不敢想象

【python VS vba】(3) 在python直接调用vba脚本,python,开发语言文章来源地址https://www.toymoban.com/news/detail-742092.html

2.2 代码

import xlwings as xw

app = xw.App(visible=True,add_book=False)
# 设置测试文件的路径
wb = app.books.open(r'C:\Users\Administrator\Desktop\1001.xlsm')

# 调用VBA脚本
test1901 = wb.macro('test1901')
test1901(4, 5)
print(test1901(4, 5))

到了这里,关于【python VS vba】(3) 在python直接调用vba脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GO富集绘图绘制方法,零基础教程,替换数据直接作图,完成版R语言脚本

    本期分享一个快速绘制GO富集结果图的方法,主要使用R语言tidyverse包,只需导入数据即可一步出图,可以自定义显示的数目、颜色、筛选参数, 从此以后绘制GO富集图只需1秒 。 下面是一个GO富集分析的结果数据表: ID:表示具体的GO条目 Description:GO条目的描述 RatioF:分子是

    2024年02月12日
    浏览(16)
  • C++&Python&C# 三语言OpenCV从零开发(6):边界填充+Csharp调用Python matplotlib代码

    C++PythonCsharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记) 今天来接着学习OpenCV,现在主要是以Python代码为主了,所以先实现Python,在用C++/Csharp重现一遍。 边界填充就是向外填充图片信息,将图片扩大。填充分为上下

    2024年01月23日
    浏览(23)
  • VS2022基于C语言的动态链接库创建与调用

    创建完成后会得到如下图所示的默认文件 1.右键点击项目,找到属性 2.C/C++——预处理器——预处理器定义——添加 _CRT_SECURE_NO_DEPRECATE; 3.C/C++——预编译头——预编译头——不使用预编译头 3.需要引入头文件:C/

    2024年02月04日
    浏览(12)
  • yolov8直接调用zed相机实现三维测距(python)

    相关链接 此项目直接调用zed相机实现三维测距,无需标定,相关内容如下: 1.yolov5直接调用zed相机实现三维测距(python) 2. yolov4直接调用zed相机实现三维测距 3. Windows+YOLOV8环境配置 4.具体实现效果已在哔哩哔哩发布,点击此链接跳转 本篇博文工程源码下载(麻烦github给个星

    2024年04月11日
    浏览(13)
  • 【Linux从入门到精通】文件I/O操作(C语言vs系统调用)

    文章目录 一、C语言的文件IO相关函数操作 1、1 fopen与fclose 1、2 fwrite 1、3 fprintf与fscanf 1、4 fgets与fputs 二、系统调用相关接口 2、1 open与close 2、2 write和read 三、简易模拟实现cat指令 四、总结 🙋‍♂️ 作者:@Ggggggtm 🙋‍♂️ 👀 专栏:Linux从入门到精通  👀 💥 标题:文

    2024年02月13日
    浏览(14)
  • 在java中调用python脚本

    推荐使用第三种方法,因为只有第三种方法使用 Runtime.getRuntime() 才能执行含有第三方库(numpy,matlab,pandas等库)的python脚本。 1.首先在maven中添加依赖 2.使用Jpython中的PythonInterpreter执行Python语句 1.首先在maven中添加依赖(也是依赖Jpython包) 2.创建一个Python脚本 3.在java中执行p

    2024年02月15日
    浏览(14)
  • [C#] 如何调用Python脚本程序

    有以下几个原因需要C#调用Python: Python拥有丰富的生态系统:Python有很多强大的第三方库和工具,可以用于数据科学、机器学习、自然语言处理等领域。通过C#调用Python,可以利用Python的生态系统来完成一些特定的任务。 C#和Python的优势互补:C#是一种高性能、静态类型的编程

    2024年02月19日
    浏览(15)
  • C#使用IronPython调用Python脚本实例

    本文 详细讲解在C#中调用Python脚本的 实例 。 首先 本文假设您已经安装好了Python环境和对应的库。 目录 一、IronPython简述

    2024年02月10日
    浏览(14)
  • C#调用vba程序以及传递C#中参数到VBA程序

    一.C#部分: 1.需要引用的库: using Microsoft.Office.Interop.Excel 2.C#中新建excel对象: using Excel=Microsoft.Office.Interop.Excel; Excel.Application xapp=new Excel.Application(); //打开vba程序所在的excel string path=@“C:UserDesktoptest.xlsm”; Excel.Workbook wb=xapp.Workbooks.Open(path); //下一步直接可以运行“test.xls

    2024年02月11日
    浏览(18)
  • DevOps系列文章之 java调用python脚本

    在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐) 调用python脚本中的函数 官网地址 首页 | (jython.org) Jython项目提供了Java中的Python实现, 为Python提供了在JVM上运行的好处,并可以访问用Java编写的类。 当前版本(Jyt

    2024年02月14日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包