使用Python从新创建的Excel文件中运行Excel VBA代码

时间:2018-09-04 12:48:50

标签: python excel vba win32com abaqus

我正在尝试从内置Python的ABAQUS软件工具运行Excel宏。

我有一个默认的Excel文件,我希望将其作为主Excel文件并根据输出数据库文件来制作新的Excel文件。

  • 我访问ABAQUS输出数据库文件并获取其名称,并通过组合输出数据库文件名称和其他名称来命名一个新的Excel文件。
  • 我将主Excel文件复制到这个新的Excel文件中。

我能够打开这个新创建的文件,但是我无法运行宏。

这是带注释的代码。

我得到文件名和扩展名的路径

filePath = odbFile.path

仅具有扩展名的文件名

filename_w_ext = os.path.basename(filePath)
odbfilename,odbfileExtension = os.path.splitext(filename_w_ext)
excel_filename='abc.xlsm' 
odbfilename+'_FAT'+'.xlsm'
newExcelFile = odbfilename+'_FAT'+'.xlsm' 
shutil.copy(excel_filename, newExcelFile)

我访问win32client以访问Excel应用程序

xl = win32com.client.Dispatch("Excel.Application")

打开Excel文件,提供文件路径

xl.Workbooks.Open(newExcelFile)

说newExcelFile创建的名称是new.xlsm

要使用PYTHON运行Excel宏,默认代码为

xl.Application.Run("excelName!ModuleNumberOfTheMacro.MacroName")

运行宏以从Excel导入节点

xl.Application.Run("newExcelFile!Module1.ImporterFichiersTextes")

我输入了相同的格式,但是Python正在寻找Excel工作表“ newExcelFile”,而不是new.xlsm

0 个答案:

没有答案