在Python中执行Visual Basic宏(来自个人宏工作簿)

时间:2017-06-14 20:01:15

标签: python vba

我尝试在我正在创建的Excel文件中执行位于我的个人宏工作簿中的可视化基本脚本。这就是我到目前为止所拥有的:

import os
import win32com.client
df2.to_excel("Apartments.xlsx")
xl=win32com.client.Dispatch("Excel.Application")
xl.Workbooks.open(filename="C:\Users\my\full\path\Apartments.xlsx", ReadOnly=1)
xl.Application.Run("Apartments.xlsx!create_chart.create_chart_proc")

在第5行打开excel文件时抛出错误,我感觉第6行无法工作,因为它来自我的个人宏书。任何人都有关于如何使其发挥作用的想法?

PS。我的模块名称是" create_chart"我的宏名称是" create_chart_proc"

2 个答案:

答案 0 :(得分:0)

如果你说出了什么错误会有所帮助,我知道这条道路

"C:\Users\my\full\path\Apartments.xlsx"

并不是您代码中的真实内容。但是字符串中的\在Python中具有特殊含义(例如\n是换行符,\f是换页符)。您的\是否按照您的意图解释取决于它之后的字符。当您在Python中使用Windows路径时,使用原始字符串通常不易出错。

r"C:\Users\my\full\path\Apartments.xlsx"

当你让这一行工作时,如果下一行有麻烦,那就把它作为一个单独的问题发布。

答案 1 :(得分:0)

我得到了代码的第一部分,只需按如下方式运行代码:

xl.workbooks.open("C:\Users\my\full\path\Apartments.xlsx")

发布一个单独的问题,让宏工作正常。