首页 > 解决方案 > Excel 不断被 ms 访问 vba 代码锁定

问题描述

我正在尝试从 ms 访问 vba 代码中导出 excel。除了几个问题,我能完成大部分工作。

1) excel 应用程序一直被锁定,当我尝试打开电子表格时,它说电子表格已锁定以供我自己编辑。我最后也发布了所有变量,但仍然没有运气。

2) 我无法自动打开新的“另存为”电子表格,还需要关闭原始电子表格。

我在谷歌上进行了广泛的搜索,并在 stackoverflow 上查看了其他问题,但无法弄清楚。

要求 - 我想从 ms 访问导出 excel。我需要使用现有的电子表格,在我的代码运行时替换其内容,然后保存到另一个工作表中,保持原始电子表格不变。我还需要打开新的电子表格并向用户展示。这是我的代码:

Private Sub GenerateReport(strFileName As String)
Set xlObj = CreateObject("Excel.Application")
Dim xlWB As Workbook
Dim xlSheet As Worksheet
Dim fpath As String
Dim path As String
Dim fname As String
    With xlObj
     On Error goto errorHandler
    .DisplayAlerts=False
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "tableName", strFileName, True
    Set xlWB = Workbooks.Open(strFileName) 'strFileName consist of full path of spreadsheet
    xlWB.Activate
    fdate = "20200521"
    path = xlWB.path

    ' Some code for formatting excel spreadsheet

    fname = "Temp" & fdate
    xlWB.SaveAs Filename:=path & "\" & fname, _
    FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    Set xlWB = Nothing
    Set xlObj = Nothing

    procdone:
    Set xlWB = Nothing
    Set xlObj = Nothing
    Exit Sub

    errorHandler:
    Resume procdone

   End With

End Sub

标签: excelms-access

解决方案


推荐阅读