首页 文章

Python - 运行Excel宏

提问于
浏览
3

我想使用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,'异常发生 . ',(0,u'Microsoft Excel',u“无法运行宏'FilterLoans' . 宏可能在此工作簿中不可用,或者可能禁用所有宏 . “,u'xlmain11.chm',0,-2146827284),无)

该错误表明Filter.coans在Database.csv文件中不可用...如何导入它?

1 回答

  • 0

    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")
    

相关问题