Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将未定义的Excel.工作簿变量传递给子例程时出现错误13_Vba_Ms Access - Fatal编程技术网

Vba 将未定义的Excel.工作簿变量传递给子例程时出现错误13

Vba 将未定义的Excel.工作簿变量传递给子例程时出现错误13,vba,ms-access,Vba,Ms Access,我有一段代码,它将一个已声明但未定义的Excel.Workbook变量传递给Access数据库中一直运行良好的子例程。使用该数据库的工作人员都在O365上,在我看来,那些office版本已经升级的人不能再运行此代码而不会遇到错误13-类型不匹配,而那些具有旧版本(尚未更新)的人仍然可以运行此代码而不会出现问题 Dim wbkADJUST As Excel.Workbook 'irrelevent code omitted, but wkbADJUST is not set Excel_Rep

我有一段代码,它将一个已声明但未定义的Excel.Workbook变量传递给Access数据库中一直运行良好的子例程。使用该数据库的工作人员都在O365上,在我看来,那些office版本已经升级的人不能再运行此代码而不会遇到错误13-类型不匹配,而那些具有旧版本(尚未更新)的人仍然可以运行此代码而不会出现问题

Dim wbkADJUST As Excel.Workbook

'irrelevent code omitted, but wkbADJUST is not set

Excel_Reporting 1, strBILLPATH & "Billing\" & "BillExportB.xlsx", _
    "qryFRONTREPORTADJUST", "Adjustments", False, "", "", _
    False, objEXCEL, wbkADJUST

'Which calls to the following sub

Public Sub Excel_Reporting(lngFREEZE As Long, strREPORT As String, _
    strQUERY As String, strSHEET As String, booEVALSHEET As Boolean, _
    strFUNCTION As String, strPRIORFUNCTION As String, booSAVEDB As Boolean, _
    objXL As Excel.Application, wbkOP As Excel.Workbook)

'The subroutine goes on to set the wbkOP Workbook variable
我希望代码采用未定义的wbkADJUST变量,并在子例程中设置它,而不会出现问题,它一直都是这样做的。但是,在上周,我的客户机的一些(但不是所有)用户报告了“运行时错误”13:“类型不匹配”错误


这在过去一直有效,我能做些什么来阻止此错误?

请使用
wbkOP
显示导致错误的代码行。另外:参数
wbkOP
隐式声明为
ByRef
。也许明确地声明它
ByVal
会有所帮助?当用户使用不同版本的Office时,您可能会遇到问题。你用哪个版本开发?如何分发数据库(accdb或accde)?切换到后期绑定可能会有所帮助,但可能是一项主要任务。出现错误的地方是调用Excel_Reporting。我在O365中开发,并分发完整的accdb。然而,根据我的经验,小的更新总是在发布,而不是统一地同时发布给所有员工。引用点很有趣,这不是因为它需要Excel 14对象库,例如,但是如果引用以某种方式被破坏……请使用
wbkOP
显示导致错误的代码行。另外:参数
wbkOP
隐式声明为
ByRef
。也许明确地声明它
ByVal
会有所帮助?当用户使用不同版本的Office时,您可能会遇到问题。你用哪个版本开发?如何分发数据库(accdb或accde)?切换到后期绑定可能会有所帮助,但可能是一项主要任务。出现错误的地方是调用Excel_Reporting。我在O365中开发,并分发完整的accdb。然而,根据我的经验,小的更新总是在发布,而不是统一地同时发布给所有员工。引用点很有趣,这不是因为它需要Excel 14对象库,例如,但是如果引用以某种方式被破坏。。。