我有一个长期运行的python管道,它生成一个pandas数据帧。简而言之,我想:在excel中显示pandas数据帧

添加并运行VBA宏

删除VBA宏并将(新格式化的)输出保存为 .xslx

挑战在于,如果没有中间的save-as xlsm-file步骤,我就无法弄清楚如何做到这一点,这在将VBA宏添加到.xlsx文件时显然是必需的。由于这是低效的,我想摆脱这个中间步骤。

这是代码:

1.在excel中显示pandas数据帧:with pd.ExcelWriter('output.xlsx') as writer:

df_results.to_excel(writer, index = False, sheet_name = "Sheet1")

#...see below

2A。添加宏并分配.xlsm-filename,以便writer可以保存宏#... see above

writer.book.filename = 'output.xlsm' # Add .xlsm filename

writer.book.add_vba_project('VBA_script.bin') # This adds my macro

writer.save() # How to get rid of this step?

2B。运行宏xl = win32com.client.Dispatch("Excel.Application") # Set up excel

xl.Workbooks.Open(Filename = 'output.xlsm') # Open .xlsm file from step 2A

xl.Application.Run("Module1.Main") # Run VBA_macro.bin

3.删除宏并保存到.xlsxwb = xl.ActiveWorkbook

xl.DisplayAlerts = False

wb.DoNotPromptForConvert = True

wb.CheckCompatibility = False

wb.SaveAs('final_outfile.xlsx', FileFormat=51, ConflictResolution=2) # Macro disapears here

xl.Application.Quit()

del xl

xl = None

是否可以在没有中间.xlsm步骤和更短代码的情况下执行此操作?

如何在excel上下文中添加,运行和删除VBA宏,而无需使用python进行中间保存步骤?

编辑:似乎答案是“ 不”。- 人们建议使用第二个永久性.xlsm容器来容纳VBA宏 - 如果您不同意,请随意回答

python打开excel执行vba代码_python可以添加,运行和删除VBA宏以实现excel而无需中间保存步骤吗?...相关推荐

  1. VBA代码为ppt添加页码进度条

    VBA代码为ppt添加页码进度条 fandroid 于 2015-05-25 15:31:28 发布 4617  已收藏 5 分类专栏: office 文章标签: vba ppt 版权 office ...

  2. python多线程执行同样代码_Python 多线程、多进程 (一)之 源码执行流程、GIL

    一.python程序的运行原理 许多时候,在执行一个python文件的时候,会发现在同一目录下会出现一个__pyc__文件夹(python3)或者.pyc后缀(python2)的文件 Python在执 ...

  3. python执行js文件报错_使用PyV8在Python爬虫中执行js代码

    前言 可能很多人会觉得这是一个奇葩的需求,爬虫去好好的爬数据不就行了,解析js干嘛?吃饱了撑的? 搜索一下互联网上关于这个问题还真不少,但是大多数童鞋是因为自己的js基础太烂,要么是HTML基础烂,要 ...

  4. 我发现了个Python黑魔法,执行任意代码都会自动念上一段「平安经」

    来源 | Python编程时光 最近的"平安经"可谓是引起了不小的风波啊. 作为一个正儿八经的程序员,最害怕的就是自己的代码上线出现各种各样的 BUG. 为此,明哥今天分享一个 P ...

  5. python任意代码都可以缩进去_我发现了个 Python 黑魔法,执行任意代码都会自动念上一段 『平安经』...

    最近的"平安经"可谓是引起了不小的风波啊. 作为一个正儿八经的程序员,最害怕的就是自己的代码上线出现各种各样的 BUG. 为此,明哥今天分享一个 Python 的黑魔法,教你如何在 ...

  6. python使方法执行10次_Python提升程序性能的七个手段

    1. 使用局部变量 尽量使用局部变量代替全局变量: 便于维护, 也可以避免不必要的资源浪费 使用局部变量替换模块名字空间的变量, 例如: ls = os.linesep. 一方面给可以提高程序性能, ...

  7. python同时注释多行代码_python怎么同时对多行代码进行注释

    学会向程序中添加必要的注释,也是很重要的.注释不仅可以用来解释程序某些部分的作用和功能(用自然语言描述代码的功能),在必要时,还可以将代码临时移除,是调试程序的好帮手. 当然,添加注释的最大作用还是提 ...

  8. python 为什么只执行一次_python只执行一次

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! #!usrbinpython #coding=utf-8 created on ...

  9. python执行一段代码_我发现了个 Python 黑魔法,执行任意代码都会自动念上一段 『平安经』...

    最近的"平安经"可谓是引起了不小的风波啊. 作为一个正儿八经的程序员,最害怕的就是自己的代码上线出现各种各样的 BUG. 为此明哥就研究了一下,如何在你执行任意 Python 代码 ...

最新文章

  1. 25个增强iOS应用程序性能的提示和技巧 — 中级篇
  2. Simulink仿真 第四节 总线及示波器模块
  3. Discuz!NT 模板机制分析(转)
  4. Linux下和Windows下创建Oracle数据库,表空间,Oracle用户
  5. Class文件结构(更新中)
  6. SAP Commerce Extension Module
  7. C# TreeNode的使用方法
  8. k8s核心技术-资源编排(yaml)的介绍---K8S_Google工作笔记0018
  9. java之关系运算符
  10. 个人项目需求与分析——点菜系统App
  11. mysql得花多少钱,php-我需要帮助来解决为什么mySQL查询花费比...
  12. Jsoup 爬虫之百度贴吧
  13. CVPR2021 | 视频超分辨率中时空蒸馏方案
  14. 怎么在WPS计算机,电脑怎么把wps热点删了?电脑永久删除wps热点的方法
  15. [转帖]组织机构、职务职称英文译法
  16. 使用组策略为域用户配置IE使用代理服务器
  17. python3 爬取百合网的女人们和男人们
  18. 我的世界服务器显示无法解析主机名什么意思,我开了我的世界服务器可为什么它出现无法解析主机名...
  19. 【scala】获取当前时间的上一个自然周以及自然周集合;获取当前时间的上一个自然月以及自然月的第一天与最后一天
  20. Python - 面向对象编程 - 实战(4)

热门文章

  1. DW1000 TX POWER (发射功率) 解析
  2. Qt WebSocket服务端的简单Demo
  3. python第三方库文件传输_python3 post方式上传文件。
  4. 关联规则挖掘算法_数据挖掘 | 关联规则分析
  5. matlab中随机函数的具体使用方法
  6. python输出到文件
  7. arXiv 2021《Transformer in Transformer》论文笔记
  8. Codeforces 1336E Chiori and Doll Picking (子集和变换、线性基、阈值算法、状压 DP、组合计数)...
  9. 如何查看cplex的help文档_用摹客,写出更好的产品文档
  10. 安卓自定义边栏英文索引控件