为什么QueryTable.Delete杀死Excel 365 Pro +中的所有其他连接?

时间:2019-07-01 16:41:07

标签: excel vba listobject

从Office 10过渡到365 ProPlus,我有一个MS Access数据库,该数据库从模板创建Excel文件。 Access复制模板选项卡,设置查询,刷新新工作表上的ListObject,将模板工作表ListObject保留为空白。这个过程要重复几次。

一旦365刷新新工作表上的列表对象并删除QueryTable,将在模板工作表ListObject上刷新选项被禁用。我收到“运行时错误'1004':应用程序定义的错误或对象定义的错误”。

如果我慢慢走过去,大约20%的时间我都可以顺利度过。

Public Sub RefreshData_Sheet(ByRef Sheet As String, Optional ByRef PreserveConnection As Boolean)
    Dim objListObject
    For Each objListObject In objExcel.Sheets(Sheet).ListObjects
        If objListObject.SourceType = 0 Or objListObject.SourceType = 3 Then
            objListObject.QueryTable.Refresh False
            If Not PreserveConnection Then objListObject.QueryTable.Delete
        End If
    Next
End Sub

0 个答案:

没有答案