| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 825 人关注过本帖
标题:关于python调用VBA代码的问题
取消只看楼主 加入收藏
螭蛊
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2023-2-24
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:3 
关于python调用VBA代码的问题
请教各位大神,我在excel工作薄A中存放了VBA代码,现在使用python在工作薄B中调用工作薄A中的代码,请问如何调用,试了半天总报错,不知道哪里错了
搜索更多相关主题的帖子: 代码 工作 VBA 调用 python 
2023-02-24 10:31
螭蛊
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2023-2-24
收藏
得分:0 
回复 2楼 东海ECS
import win32com.client
# 创建Excel应用程序对象
excel = win32com.client.Dispatch("Excel.Application")
# 打开工作薄A
workbookA = excel.Workbooks.Open(r'D:\练习\python\xlwings\横道图.xlsm')
# 打开工作薄B
workbookB = excel.Workbooks.Open(r'D:\练习\python\xlwings\横道图.xlsx')
# 调用工作薄A中的VBA代码
excel.Run("D:\练习\python\xlwings\横道图.xlsm!VBA_Code")
# 关闭工作薄A
workbookA.Close()
# 关闭工作薄B
workbookB.Close()
# 关闭Excel应用程序
excel.Quit()
*************
把文件名改了下,运行会报错,调用那句没看懂,请指教!!!新手见笑
下面是报错的信息
我把存放VBA代码的工作薄上传了,就相当于工作薄A,,,,工作薄B就是*.xlsx格式了,不存放代码,直接从工作薄A中调用
**********
File "D:/练习/python/xlwings/test.py", line 15
    excel.Run("D:\练习\python\xlwings\横道图.xlsm!VBA_Code")
              ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 35-36: truncated \xXX escape
横道图 .rar (17.58 KB)



[此贴子已经被作者于2023-2-26 16:37编辑过]

2023-02-26 16:27
螭蛊
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2023-2-24
收藏
得分:0 
回复 4楼 东海ECS
excel.Run("D:\练习\python\xlwings\横道图.xlsm!VBA_Code")  这句的后面改成     VBA_代码名字      吗?  
放一个文件夹里也不行,报错,显示找不到   横道图.xlsm

我把VBA的代码和工作薄A上传一下,请大神帮忙处理发我下,确实不会了,跪拜!!!工作薄B搞成一样的,或者时间改下就行
工作薄A及代码.rar (10.63 KB)
2023-02-28 10:29
螭蛊
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2023-2-24
收藏
得分:0 
回复 6楼 wp231957
这个库我也装了,这个代码和需求不太一样,我是想把代码存放在一个工作薄A里,以后遇到类似的问题比如工作薄B工作薄C什么的,直接在工作薄A调用。而且像工作薄B、C这种文件就是*.xlsx格式了,不存放代码了,如果全部存了代码直接在excel里运行就好了,就不需要用python操作了

还是非常感谢,看能不能救人救到底!!!
2023-02-28 16:51
快速回复:关于python调用VBA代码的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016051 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved