我在microsoft数据库中有一个autoexec宏,每次打开excel文件时都要执行该宏。本质上,我需要打开access数据库来触发autoexec,然后再关闭。
我的excel文件中已经有一些VBA代码,已经给各个记录(工作表代码)加盖了日期/时间戳,但我希望excel中有一些功能,在打开文件时可以利用这些功能来触发这个访问过程。
是否有人可以共享用于这类功能的代码,或者共享我不知道的用于完成此操作的excel功能?
提前感谢!
发布于 2018-03-26 15:56:47
使用VBA从Excel执行宏非常简单。您可以使用以下VBA打开Access数据库,然后再次关闭它。
With CreateObject("Access.Application")
.OpenCurrentDatabase "path\to\my\file.accdb"
'AutoExec macro should fire automatically
.Quit
End With
发布于 2018-03-28 03:09:20
若要在Access打开时运行访问脚本,请确保标准模块中有一个函数(而不是子函数)。
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
https://stackoverflow.com/questions/49495639
复制相似问题