Python运行Excel m

2024-10-04 05:22:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用Python在Data.csv中的工作表上运行MacroBook.xlsm中包含的宏。

通常在excel中,我会打开两个文件并将焦点转移到Data.csv文件,然后从MacroBook运行宏。python脚本每天下载Data.csv文件,因此无法将宏放入该文件。

这是我的代码:

import win32com.client
import os
import xl

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

macrowb = xl.Workbook('C:\MacroBook.xlsm')
wb1 = xl.Workbook('C:\Database.csv')
excel.Run("FilterLoans")

我有个错误

pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Excel', u"Cannot run the macro 'FilterLoans'. The macro may not be available in this workbook or all macros may be disabled.", u'xlmain11.chm', 0, -2146827284), None)

错误说明Database.csv文件中没有FilterLoans…如何导入它?


Tags: 文件csvimportclientdata错误exceldatabase
2条回答

1)不能在*.csv文件上使用VBA。您需要将*.xlsm文件作为活动工作簿。如果宏知道如何找到*.csv文件,我认为根本不需要打开它。

2)在Office Excel中启用VBA模块访问:

File
options
Trust Center
Trust Center Settings
Macro Settings
Enable VBA access

3)我正在使用此函数运行宏:

excel.Application.Run("FilterLoans")

尝试将宏保存到“正常”项目并调用。

excel.Application.Run("Normal.ModuleName.SubName")

您甚至可以通过编程方式将模块添加到普通配置文件中,但如果您没有足够的访问权限,Office不允许您执行此操作。

相关问题 更多 >