从Python运行Excel,使用凭据运行宏

时间:2014-01-15 15:34:53

标签: python excel odbc connection-string

我有一段代码,我过去用它来触摸excel文件,运行已保存在工作簿中的宏,保存并关闭。例如:

import win32com.client
import os
import os.path

file = 'myworkbook.xlsm'
path = 'C:/PATH/'
macro = 'mymacro'

filename = os.path.join(path, file)
xlApp = win32com.client.Dispatch("Excel.Application")
wkbk = xlApp.Workbooks.Open(filename)
runMacro = wkbk.Name + '!' + macro
xlApp.Run(runMacro)
wkbk.Save()
wkbk.Close(1)
xlApp.Quit()
xlApp = None

但是,我现在想在刷新数据连接的宏上使用它,从而提示输入有问题的SQL数据库的密码。当我尝试运行它而不用担心凭据时,我收到此错误:

  

com_error:(-2147352567,'异常发生。',(0,u'Microsoft Office   Excel',u“无法运行宏'MYMACRO'   宏可能在此工作簿中不可用或所有宏都可用   禁用。“,u'C:\ Program Files(x86)\ Microsoft   Office \ Office12 \ 1033 \ XLMAIN11.CHM',0,-2146827284),无)

有没有办法让这项工作 - 即。将所需的凭据从python传递到excel以便宏可以运行?

0 个答案:

没有答案