通过Python运行MS Access

问题描述 投票:0回答:1

我有一个带有4个按钮的MS Access文件,在上一个任务完成后,用户必须按1个按钮单击。

我正在尝试在不更改其代码的情况下自动执行该文件。是否可以使用某些库将其自动化?

在Visual Basic中代码看起来像

Private Sub Command61_Click()

Call Clear_Feed_Tables

End Sub

Private Sub Command63_Click()

Call Import_Feeds

End Sub

谢谢!

python vba macros access-vba
1个回答
1
投票

考虑Python的COM库win32com,以访问MS Access的对象库(与VBA相同的过程)。具体来说,调用Application.Run方法。下面假设这两种方法都驻留在标准模块中(即不位于表单或报表的后面)。另外,此方法不使用任何格式值(即Forms!myForm!myControl)。如果用户输入值,请重写方法以传递参数,然后让Python传递相同的值。

import win32com.client

# OPEN ACCESS APP AND DATABASE
oApp = win32com.client.Dispatch("Access.Application")
oApp.OpenCurrentDatabase(r'C:\Path\To\myDB.accdb')

# RUN STANDARD MODULE METHODS
oApp.Run("Clear_Feed_Tables")
oApp.Run("Import_Feeds")

oApp.DoCmd.CloseDatabase
oApp.Quit
oApp = None
© www.soinside.com 2019 - 2024. All rights reserved.