我正在尝试在几个工作簿中运行VBA宏,但我想让宏按顺序运行。到目前为止,我想出了如何使用PyWin32运行宏,但宏不会串行运行。我尝试通过使用子进程来实现它:
for subdir, dirs, files in os.walk(rootdir):
for file in files:
xl=win32com.client.Dispatch("Excel.Application")
xl.Workbooks.Open(Filename=os.path.join(subdir,file))
p = subprocess.Popen(["xl.Application.Run(\"macro1\")"])
p.wait()
p = subprocess.Popen(["xl.Application.Run(\"macro2\")"])
p.wait()
但我遇到一个错误,上面写着:" [WinError 2]系统无法找到指定的文件"
我使用Popen对象错了吗?这个问题有替代解决方案吗?我是Python的新手,所以任何答案都表示赞赏。提前谢谢。