打开并准备Access的Excel宏

时间:2017-12-08 10:13:10

标签: vba excel-vba access-vba excel

我有一个代码可以从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

有人可以提供这样做或导航我所需的命令吗? 在此先感谢您的帮助。

1 个答案:

答案 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