我认为这里的问题与在新 Excel 应用程序中打开的新工作簿有关。这是代码的一部分,是错误的。如果更改nb.ActiveSheet.QueryTables.Add
为ActiveSheet.QueryTables.Add
一切正常(但在当前工作簿中,而不是在 nb 中)。它必须在新工作簿中执行,而不是在当前工作簿中执行。
Dim app As New Excel.Application, nb As Excel.Workbook
Set nb = app.Workbooks.Add
With nb.ActiveSheet.QueryTables.Add(Connection:= _
"URL; http://www.example.com", _
Destination:=Range(Cells(2, 2), Cells(57, 3)))
End With