python调用excel的宏_Python – 运行Excel宏

我想使用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)

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

解决方法:

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

标签:python,excel,vba,excel-vba,win32com

来源: https://codeday.me/bug/20190929/1831588.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值