【发布时间】:2020-05-09 18:24:55
【问题描述】:
我正在尝试从 access 2016 运行 excel 宏。这有很多示例,但是它们都很旧。我收到的确切错误代码是运行时错误“1004”: 无法运行宏“TestScript()”。该工作簿中的宏可能不可用,或者可能会显示所有宏。我只是为测试运行一些简单的东西。我已确保在 excel 中启用了宏。 excel代码如下
Public Sub TestScript()
MsgBox "IT WORKED"
End Sub
测试非常简单。 Access 正在打开 excel 电子表格,但它在此处停止并显示错误代码。
我的访问代码非常简单,如下所示。我还注意到代码在哪里停止。虽然我是 VBA 的新手,但我在这方面做了很多研究。我正在测试尽可能简单的代码。欢迎任何帮助。
Option Compare Database
Function runExcelmacro()
Dim XL As Object
Set XL = CreateObject("Excel.Application")
With XL
'Turn Off warnings
.Visible = False
.displayalerts = False
'WorkBook path such as "C:\Computer\WorkBook.xlsx"
.Workbooks.Open "C:\DATABASE\BLQ-10\Import Database BLQ 10\NTIRAINSTALLTO.xlsm"
'Run the Macro in excel getworkbook
.Run TestScript 'Code stops here!
'Close Workbook
.ActiveWorkbook.Close (True)
.Quite
End With
Set XL = Nothing
End Function
Public Sub runMacroSub()
Call runExcelmacro("C:\DATABASE\BLQ-10\Import Database BLQ 10\NTIRAINSTALLTO.xlsm", "TestScript")
End Sub
【问题讨论】:
-
.run "testscript"会产生同样的错误吗? -
另外,
Dim xl as excel.application和set xl=.workbooks.open(….)可能会更好? -
你是对的,我将其更改为 TestScipt 并且它正在运行,知道问题没有发生!我确实看到一个小消息框打开了
-
嗯,让我改变它并测试一下
-
不,我这样做了,它只是给了我一堆新错误