使用python代码将参数传递给excel中的宏

时间:2019-03-13 12:15:53

标签: excel python-3.x vba win32com

我有一个包含宏(.xlsm)的工作表。运行此宏后,需要选择另一个.csv文件,这将创建一个.xlsx文件。到目前为止,我设法打开.xlsm文件并运行宏,但是我不知道如何使它选择特定的.csv文件以及如何保存结果。

我的代码是:

import win32com.client
import os

directory = "C:/Users/aprofir/Desktop/"
file = "CSVDE OPEN.xlsm"
macro = "Csvde"
path = os.path.join(directory, file)

if os.path.exists(path):
    xlApp = win32com.client.Dispatch("Excel.Application")
    wb = xlApp.Workbooks.Open(Filename=path, ReadOnly=1)
    xlApp.Application.Run(macro)
    xlApp.Application.Run()
    wb.Close(SaveChanges=1)
    xlApp.Application.Quit()

如果运行此代码,则宏要我选择一个文件: enter image description here

如何使其在特定位置选择文件?

0 个答案:

没有答案