如何从Python运行MS Access宏
我正在尝试通过一个Python脚本来运行一个已经存在的Microsoft Access宏。现在我有的代码是:
import win32api,time
from win32com.client import Dispatch
strDbName = 'Exit.mdb'
objAccess = Dispatch("Access.Application")
objAccess.Visible = False
objAccess.OpenCurrentDatabase(strDbName)
objDB = objAccess.CurrentDb()
objAccess.run('test')
objAccess.Application.Quit()
当我运行这个代码时,出现了一个错误:
Traceback (most recent call last):
File "accessmacro.py", line 10, in <module>
objAccess.run('test')
File "<COMObject Access.Application>", line 2, in run
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, u"Microsoft Office Access can't find the procedure 'test.'", None, -1, -2146825771), None)
1 个回答
6
Run 方法需要一个“用户定义的函数或子过程”的名字。但是,如果'test'是一个宏的名字,那就要用RunMacro 方法。
objAccess.DoCmd.RunMacro('test')