从Access VBA覆盖电子表格时,运行时错误424

麦克多

我试图使用Access VBA用Access查询的输出覆盖excel工作表。在这里这篇文章中获取并修改了一些很棒的Access VBA代码任务完成了,但是最后我遇到了运行时错误:

运行时错误“ 424”:必需对象

修改后的代码如下。有什么想法为什么会这样?

Option Compare Database
Option Explicit

Private Const strFilePath As String = "C:\Users\MyPC\Desktop\Test Tracker\APS_Timeline_Status.xlsm"
Private Const strTQName As String = "q_APS_Timeline_Status_For_Export"
Private Const strSheetName As String = "TimeLine_Status"

Sub Update_timeline_tracker()

    SendTQ2XLWbSheet(strTQName, strSheetName, strFilePath).Run

End Sub


Public Function SendTQ2XLWbSheet(strTQName As String, strSheetName As String, strFilePath As String)

' strTQName is the name of the table or query you want to send to Excel
' strSheetName is the name of the sheet you want to send it to
' strFilePath is the name and path of the file you want to send this data into.

    Dim rst As DAO.Recordset
    Dim ApXL As Object
    Dim xlWBk As Object
    Dim xlWSh As Object
    Dim fld As DAO.Field
    Dim strPath As String
    On Error GoTo err_handler
 DoCmd.SetWarnings False

    strPath = strFilePath

    Set rst = CurrentDb.OpenRecordset(strTQName)

    Set ApXL = CreateObject("Excel.Application")

    Set xlWBk = ApXL.Workbooks.Open(strPath)
    Debug.Print strPath

    ApXL.Visible = True

    Set xlWSh = xlWBk.Worksheets(strSheetName)

    ApXL.DisplayAlerts = False

    xlWSh.Activate

    xlWSh.Range("A1").Select

    For Each fld In rst.Fields
        ApXL.ActiveCell = fld.Name
        ApXL.ActiveCell.Offset(0, 1).Select
    Next

    rst.MoveFirst

    xlWSh.Range("A2").CopyFromRecordset rst

    ' selects the first cell to unselect all cells
    xlWSh.Range("A1").Select

    rst.Close
    xlWBk.SaveAs FileName:="C:\Users\MyPC\Desktop\Test Tracker\APS_Timeline_Status.xlsm"
    xlWBk.Close
    ApXL.Quit

    Set rst = Nothing

Exit_SendTQ2XLWbSheet:
    Exit Function

err_handler:
    DoCmd.SetWarnings True
    MsgBox Err.Description, vbExclamation, Err.Number
    Resume Exit_SendTQ2XLWbSheet
    DoCmd.SetWarnings True
End Function
利亚姆

我认为这里的问题是SendTQ2XLWbSheet函数,而不是对象。因此,.run过程一部分不能运行不是对象的东西。这就是为什么您的错误提示需要一个对象的原因。

要以您所需的方式“运行”子或功能,您必须使用术语“调用”,因此解决方案是:

Sub Update_timeline_tracker()

    call SendTQ2XLWbSheet(strTQName, strSheetName, strFilePath)

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用DoCmd.TransferSpreadsheet方法从电子表格导入数据时,如何覆盖Access中的表?

来自分类Dev

使用DoCmd.TransferSpreadsheet方法从电子表格导入数据时,如何覆盖Access中的表?

来自分类Dev

在VBA中的Access 2007中编辑Excel电子表格后,如何保存

来自分类Dev

导入Excel电子表格时MS Access 2013类型转换失败

来自分类Dev

电子表格关闭时是否运行时间驱动触发器?

来自分类Dev

将电子表格导入Access时,如何防止Excel自动分配数据字段类型?

来自分类Dev

从电子表格和Access数据库获取用户ID

来自分类Dev

按列位置将 Excel 电子表格导入 MS Access

来自分类Dev

如何将 Excel 电子表格传输到 Access 数据库

来自分类Dev

优化脚本运行时,收集大量电子表格标签信息

来自分类Dev

PHP 电子表格在我运行时不起作用

来自分类Dev

使用DoCmd.TransferSpreadsheet将Excel电子表格导入Access中会创建重复项

来自分类Dev

从Excel电子表格读取错误到VBA

来自分类Dev

运行时错误'3001':在Access VBA中创建表时,参数无效

来自分类Dev

Access 2010中的VBA-运行时错误430

来自分类Dev

SolidWorks 2016 SaveAs Access VBA运行时错误438

来自分类Dev

VBA Excel-Access 3251运行时错误

来自分类Dev

MS ACCESS VBA运行时错误“ 3021”;与.MoveNext

来自分类Dev

MS ACCESS - VBA 中的错误运行时 3141 SQL

来自分类Dev

打开Access时出现“运行时错误91”

来自分类Dev

在Chrome中运行时,ASP Classic中的ContentType无法创建Excel电子表格

来自分类Dev

如何覆盖电子表格的全部范围?

来自分类Dev

直接从Powerpoint VBA在Excel电子表格上运行代码

来自分类Dev

由于不正确的VBA代码而导致在打开电子表格崩溃时如何进入Excel电子表格

来自分类Dev

保存共享的Excel电子表格时出错:“保存...时检测到错误。”

来自分类Dev

EXCEL / VBA-电子表格中的函数#VALUE错误

来自分类Dev

VBA在很大的电子表格中查找最后一行(溢出错误)

来自分类Dev

在Excel VBA中自动生成电子表格

来自分类Dev

在Excel电子表格中使用VBA命令?

Related 相关文章

  1. 1

    使用DoCmd.TransferSpreadsheet方法从电子表格导入数据时,如何覆盖Access中的表?

  2. 2

    使用DoCmd.TransferSpreadsheet方法从电子表格导入数据时,如何覆盖Access中的表?

  3. 3

    在VBA中的Access 2007中编辑Excel电子表格后,如何保存

  4. 4

    导入Excel电子表格时MS Access 2013类型转换失败

  5. 5

    电子表格关闭时是否运行时间驱动触发器?

  6. 6

    将电子表格导入Access时,如何防止Excel自动分配数据字段类型?

  7. 7

    从电子表格和Access数据库获取用户ID

  8. 8

    按列位置将 Excel 电子表格导入 MS Access

  9. 9

    如何将 Excel 电子表格传输到 Access 数据库

  10. 10

    优化脚本运行时,收集大量电子表格标签信息

  11. 11

    PHP 电子表格在我运行时不起作用

  12. 12

    使用DoCmd.TransferSpreadsheet将Excel电子表格导入Access中会创建重复项

  13. 13

    从Excel电子表格读取错误到VBA

  14. 14

    运行时错误'3001':在Access VBA中创建表时,参数无效

  15. 15

    Access 2010中的VBA-运行时错误430

  16. 16

    SolidWorks 2016 SaveAs Access VBA运行时错误438

  17. 17

    VBA Excel-Access 3251运行时错误

  18. 18

    MS ACCESS VBA运行时错误“ 3021”;与.MoveNext

  19. 19

    MS ACCESS - VBA 中的错误运行时 3141 SQL

  20. 20

    打开Access时出现“运行时错误91”

  21. 21

    在Chrome中运行时,ASP Classic中的ContentType无法创建Excel电子表格

  22. 22

    如何覆盖电子表格的全部范围?

  23. 23

    直接从Powerpoint VBA在Excel电子表格上运行代码

  24. 24

    由于不正确的VBA代码而导致在打开电子表格崩溃时如何进入Excel电子表格

  25. 25

    保存共享的Excel电子表格时出错:“保存...时检测到错误。”

  26. 26

    EXCEL / VBA-电子表格中的函数#VALUE错误

  27. 27

    VBA在很大的电子表格中查找最后一行(溢出错误)

  28. 28

    在Excel VBA中自动生成电子表格

  29. 29

    在Excel电子表格中使用VBA命令?

热门标签

归档