我有一个代码可以从excel打开访问权限:
Dim objShell As Object
Set objShell = CreateObject("Shell.Application")
objShell.Open "\\acrtnd\share$\PUBLIC\!tools\preportDST.accdb"
Set objShell = Nothing
我想自动化很少,并添加代码,将值粘贴到访问中的字段并在开始计算的访问中运行宏,但我不知道如何从excel内部管理其他办公部件。文本框名称为“txt_PasteField”,访问中的VBA宏名称为“run_calculation”,我尝试下面这样的操作,但是objShell不允许这样的操作。
Dim objShell As Object
Set objShell = CreateObject("Shell.Application")
objShell.Open "\\acrtnd\share$\PUBLIC\!tools\preportDST.accdb"
objShell.txt_PasteField.Value = Sheets("dashboard").Cells(5, 1).Value
call objShell.run_calculation
Set objShell = Nothing
有人可以提供这样做或导航我所需的命令吗? 在此先感谢您的帮助。
答案 0 :(得分:1)
我会尽力帮助你,但我对细节还不太清楚。由于文本字段必须位于表单或报表上,因此必须先将其打开。此外,如果要在打开Access应用程序后影响Access应用程序,则需要使用OLE自动化。
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
With appAccess
.OpenCurrentDatabase "\\acrtnd\share$\PUBLIC\!tools\preportDST.accdb"
.UserControl = True
.DoCmd.OpenForm "MyForm"
.Forms!MyForm.txt_PasteField.Value = Sheets("dashboard").Cells(5, 1).Value
.Run "run_calculation"
End With