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

2024-09-27 23:28:52 发布

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

我有一个代码块,我在过去曾使用过触摸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, 'Exception occurred.', (0, u'Microsoft Office Excel', u"Cannot run the macro 'MYMACRO'. The macro may not be available in this workbook or all macros may be disabled.", u'C:\Program Files (x86)\Microsoft Office\Office12\1033\XLMAIN11.CHM', 0, -2146827284), None)

有没有一种方法可以做到这一点——即将所需的凭据从python传递到excel,以便宏可以运行?在


Tags: pathimportclientnoneosfilenameexcelmicrosoft

热门问题