将Access工作簿传递到Access VBA时出现错误424

在Access中使用VBA,我试图将Excel工作簿传递给另一个函数。

我使用以下(剪切)创build工作簿

Dim Wbk As Object Dim sht As Object Dim xl As Object Set xl = CreateObject("Excel.Application") Set Wbk = xl.Workbooks.Open(OutputFileName) Set sht = xl.Worksheets("qryTemp") 

使用上述我能够操纵Excel实例。

但是,我试图通过实例传递给另一个函数使用

 OutputLog (xl) 

接着

 Function OutputLog(xl As Variant) As String xl.Application.Visible = True End Function 

…我需要错误424对象

问题在于这一行:

OutputLog (xl)

这里使用圆括号将ObjectApplication )转换为简单types( String “Excel应用程序”)。

正确的版本是:

OutputLog xl

Call OutputLog(xl)

在这个答案中,你可以find有关在VBA中调用过程的详细信息。