打开 Microsoft Excel 文件时执行 Microsoft Access Autoexec 宏

Executing Microsoft Access Autoexec macro when opening Microsoft Excel file

我在 Microsoft Access 数据库中有一个 autoexec 宏,我想在每次打开 excel 文件时执行它。本质上,我需要打开访问数据库来触发自动执行,然后再次关闭。

我的 excel 文件中有一些 VBA 代码已经到 date/timestamp 个人记录(工作表代码),但我希望 excel 中有一些功能我可以在打开文件时利用它来触发此访问过程。

任何人都可以分享一些他们用于此类功能的代码或分享任何我不知道的 excel 功能来完成相同的操作吗?

提前致谢!

使用 VBA 从 Excel 执行宏非常简单。您可以使用以下 VBA 打开一个 Access 数据库,然后再关闭它。

With CreateObject("Access.Application")
    .OpenCurrentDatabase "path\to\my\file.accdb"
    'AutoExec macro should fire automatically
    .Quit
End With

对于 运行 打开 Access 时的 Access 脚本,请确保您在标准模块中有一个 FUNCTION(不是子)。

Option Compare Database

'------------------------------------------------------------
' AutoExec
'
'------------------------------------------------------------
Function AutoExec()
On Error GoTo AutoExec_Err

    DoCmd.RunCommand acCmdWindowHide
    MsgBox "Welcome to the client billing application!", vbOKOnly, "Welcome"
    DoCmd.OpenTable "Orders", acViewNormal, acEdit


AutoExec_Exit:
    Exit Function

AutoExec_Err:
    MsgBox Error$
    Resume AutoExec_Exit

End Function

请记住,有几种方法可以控制来自 Excel 的访问。这是一种选择。

Global oApp As Object

Sub OpenAccess()

   Dim LPath As String
   Dim LCategoryID As Long

   'Path to Access database
   LPath = "C:\Users\Excel\Desktop\Coding\Microsoft Access\Northwind.mdb"

   'Open Access and make visible
   Set oApp = CreateObject("Access.Application")
   oApp.Visible = True

   'Open Access database as defined by LPath variable
   oApp.OpenCurrentDatabase LPath

   'Open form of interest
   oApp.DoCmd.OpenForm "Form1"

End Sub