如何从python运行MS Access宏 [英] How to run a MS Access macro from python

查看:143
本文介绍了如何从python运行MS Access宏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从python脚本运行现有的Microsoft Access宏. 我目前拥有的是

I'm trying to run an existing Microsoft Access Macro from a python script. What I currently have is

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)

推荐答案

运行方法需要用户定义的函数或子过程"的名称.但是,如果"test"是宏的名称,请使用

The Run Method expects the name of a "user-defined Function or Sub procedure". But, if 'test' is the name of a macro, use RunMacro Method

objAccess.DoCmd.RunMacro('test')

这篇关于如何从python运行MS Access宏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆