vba python 结合_xlwings利用VBA调用python-程序员宅基地

技术标签: vba python 结合  

安装配置完成后(与自定义函数UDFs的配置是一致的,加入xlwings加载项,alt+F11中引用xlwings等等常规操作后),通过 “RunPython”调用python代码。

范例:

VBA代码如下:Sub hi()

RunPython ("import sayhi; sayhi.sayhi()")  " sayhi为py文件名,sayhi()为sayhi.py中的自定义函数"

End Sub

11b2b68c8af7

VBA调用python范例

python代码如下:import  xlwings  as  xw

def sayhi():

wb=xw.Book.caller()

wb.sheets[0].range('A1').value='Hello,world,11111est'Place xw.Book.caller() within the function that is being called from Excel and not outside asglobal variable. Otherwise it prevents Excel from shutting down properly upon exiting andleaves you with a zombie process when you useOPTIMIZED_CONNECTION=True.

注:

1、在网上看到很多介绍的vba代码都用from xw import sayhi,测试提示未发现xw模块而报错。

2、在调用一次python代码后,如果修改了代码,再次执行还是修改前的,这时需要点击excel的xlwings部分import Functions重新载入才能生效

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35729227/article/details/114008548

智能推荐

matlab怎么显示当前文件夹和工作区_matlab显示工作区-程序员宅基地

文章浏览阅读4w次,点赞42次,收藏35次。1、第一步在我们的电脑上打开matlab,可以看到界面上目前没有显示当前文件夹和工作区,如下图所示:2、第二步我们点击主页右侧的布局,可以看到显示下的当前文件夹和工作区没有勾选上,如下图所示:3、第三步将显示下的当前文件夹和工作区进行勾选,如下图所示:4、第四步可以看到工作区和当前文件夹都显示出来了,如下图所示:5、第五步如果想关闭的话,再进行取消勾选就完成了,如下图所示:..._matlab显示工作区

vue实时获取页面的宽度,自适应屏幕_vue宽度剩余搜易-程序员宅基地

文章浏览阅读572次。data(){ return{ fullWidth:document.documentElement.clientWidth } },created(){ window.addEventListener('resize', this.handleResize)},beforeDestroy: function () { window.removeEventListener('resize', this.handleResize)},_vue宽度剩余搜易

Mockplus是如何节省你的原型时间的?_mocplus使用指南-程序员宅基地

文章浏览阅读618次。还在用老牌原型工具一点点绘制产品原型吗?还在为实现一个满意的交互而绞尽脑汁吗?还在为无法和用户高效沟通而发愁吗?朋友,现在是快速原型的时代了。时间不等人,当你精雕细琢完成产品启动页的时候,别人的原型已经迭代几次了。当你在犹豫不决要不要加入一个功能时,别人的产品已经经过数次测试达到可用性目标了。所以,请快速刷新自己的观念,挣脱陈旧的束缚,选择适合自己的原型方法来高效工作吧。选择一_mocplus使用指南

微信小程序使用阿里云物联网API开发物联网应用_小程序 阿里云物联网云端api-程序员宅基地

文章浏览阅读3.5k次,点赞4次,收藏32次。阿里云物联网云端API参考https://help.aliyun.com/document_detail/69893.html?spm=a2c4g.11186623.6.743.66a92125iuKyp3阿里云物联网OpenAPIhttps://api.aliyun.com/?spm=a2c4g.11186623.2.15.478753ccOZrVVE#/?product=Iot云端SDK参考https://help.aliyun.com/document_detail/30579.h_小程序 阿里云物联网云端api

[华中科技计组实验]logisim完成运动码表_logsim运动码表实验-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏58次。自己动手画cpu系列 建设中ing 仅供参考!在这首推华中科技大学计算机组成原理实验课mooc连接初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有思路或者有些bug会浪费很多时间,目前呢也没找到完整的答案,所以做了份自己的答案给大家困惑的时候一份参考(大神请忽视,我自己也就一弱鸡),也就给大家卡壳的时候能有个找灵感的地方,请先独立思考,切勿抄袭。tips:每个部分都是先贴答案再写思路 数字逻辑基础 数据表示实验 运算器设计_logsim运动码表实验

网络爬虫详解-程序员宅基地

文章浏览阅读7.4k次,点赞5次,收藏46次。网络爬虫(web crawler,又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。产生背景随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南

随便推点

laravel 5.6集成 swagger3 和swagger-ui 步骤_larveal 5.6 swagger-ui.css 加载出错-程序员宅基地

文章浏览阅读3.8k次。git地址packagist地址swagger在线edit安装swaggercomposer require zircote/swagger-php然后创建一个 swagger function getJson/** * @SWG\Swagger( * host="qs.com", * consumes={"multipart/form-data"}, * ..._larveal 5.6 swagger-ui.css 加载出错

在Visual C++中使用内联汇编_vc c++ asm-程序员宅基地

文章浏览阅读619次。在Visual C++中使用内联汇编目录:  文档内容:一、内联汇编的优缺点因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便。内联汇编主要用于如下场合:1.使用汇编语言写函数; 2.对速度要求非常高的代码; 3.设备驱动程_vc c++ asm

ntp时间服务器源码编译安装_ntp源码安装-程序员宅基地

文章浏览阅读3k次。1.下载、解压安装包,wget https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p11.tar.gztar -zxvf ntp-4.2.8p11.tar.gz2.然后编译安装mkdir -p /usr/local/ntpcd ntp-4.2.8p11./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocksmake.._ntp源码安装

C++设计模式-程序员宅基地

文章浏览阅读2.6k次。C++设计模式之Adapter2002-08-06· · ··COM集中营一、功能   将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。   二、结构图  (1)class adapter   (2)object adapter   _c++设计模式

java字段不序列化注解_关于数据序列化(5),定制FastJSON序列化(解决Java大Long类型js的Number接收丢失数据的问题,不序列化某些属性)...-程序员宅基地

文章浏览阅读816次。1. 指定某个类型序列化问题描述:JavaScript使用IEEE 754标准1位用来表示符号位11位用来表示指数52位表示尾数javaScript对于整形只能识别52位。遇到Long大整数可能会丢失数据因为后台是Java写的难免有属性的类型是long。本来项目的做法是手动写每个类的toString();方法要拼接很多双引号。比较费劲也容易出错。后来我使用了FastJson定制序列化遇到Long就..._java注解不序列化字段

ceph学习(故障恢复)——mon全部故障,从osd中恢复集群_ceph学习(故障恢复)——mon全部故障-程序员宅基地

文章浏览阅读1w次,点赞3次,收藏14次。在生产环境中,ceph集群要求最少配置3个MON,一般情况下很少出现3个MON同时挂掉的情况,但是也不排除出现这种情况的可能,如果集群中的所有MON都损坏了,是不是集群数据就丢失了呢?能不能恢复集群?当然是可以的,ceph中国的一位开发者写了一个工具,来对损坏的MON的数据进行重构,这个工具已经集成到了新版的ceph中,官网上也提供了一个重构的脚本,但是这个脚本似乎有点问题,网上也有一些相关..._ceph学习(故障恢复)——mon全部故障