我在Microsoft Access数据库中有一个自动Execec宏,每次打开Excel文件时,我都想执行该宏。本质上,我需要打开访问数据库以触发自动EXEC,然后再次关闭。
我在Excel文件中已经有一些VBA代码,请访问日期/时间戳单个记录(工作表代码(,但我希望Excel中有一些功能,当文件打开以触发此访问过程时,我可以使用这些功能。
任何人都可以共享用于此类功能的某些代码,还是共享我不知道要完成相同动作的任何Excel功能?
预先感谢!
使用VBA执行Excel的宏非常简单。您可以使用以下VBA打开访问数据库,然后再次将其关闭。
With CreateObject("Access.Application")
.OpenCurrentDatabase "pathtomyfile.accdb"
'AutoExec macro should fire automatically
.Quit
End With
在访问打开时运行访问脚本,请确保您在标准模块中具有功能(不是sub(。
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:UsersExcelDesktopCodingMicrosoft AccessNorthwind.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