从Python运行Excel宏时遇到问题

0 投票
1 回答
32 浏览
提问于 2025-04-14 17:13

我想从Python运行一个Excel宏,但这是我第一次尝试,使用的方法来自这个网站

示例代码

不过,"wb = ..." 这一行没有反应。Python没有把 ".Workbooks" 识别为 "xl" 这个Excel应用程序变量的一个属性。

我可以用简单的openpyxl代码打开Excel工作簿,但接下来的 "xl.Application.Run..." 这一行也没有反应。也许我还缺少其他需要导入的模块,除了win32com.client之外?可能那个网站假设我已经有了这些模块?

任何建议都很感谢。

1 个回答

1

顺便说一下,我还没有解决最初的问题,不过Denton Thomas的讨论建议让我找到了另一种方法,可以用“xlwings”这个库来实现同样的功能。我一开始没有用这个库,因为听说它是为旧版本的Excel设计的,所以我想用一个更新、更全面的库。不过,结果和我预期的一样,运行了一个简单的宏。现在我很好奇,是否能找到一种方法,让我在不每次都打开Excel表格的情况下,执行这段代码……

import xlwings as excel

wb = excel.Book(XXX) #Insert filepath/filename for "XXX".
my_macro = wb.macro("Main")
my_macro()
wb.save()
wb.close()

撰写回答