使用Python运行VBA宏,但在宏之间等待

时间:2017-01-04 04:40:59

标签: python excel excel-vba vba

我正在尝试在几个工作簿中运行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的新手,所以任何答案都表示赞赏。提前谢谢。

0 个答案:

没有答案