【问题标题】:Webquery in a new Excel workbook application新 Excel 工作簿应用程序中的 Webquery
【发布时间】:2015-02-02 18:05:41
【问题描述】:

我认为这里的问题与在新 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

【问题讨论】:

  • 你可以尝试引用第一张工作表而不是像nb.Worksheets(1).QueryTables...这样的ActiveSheet
  • 感谢 @joseph4tw 的评论,但 Worksheets 和 Worksheets.Range 都不起作用

标签: excel excel-web-query vba


【解决方案1】:

我知道问题出在哪里了,就在这里:

Destination:=Range(Cells(2, 2), Cells(57, 3)))

如果您没有明确指定要使用的工作簿,Range() 将始终引用 ActiveWorkbook 的 ActiveSheet。所以把它改成:

Destination:=nb.Worksheets(1).Range(nb.Worksheets(1).Cells(2, 2), nb.Worksheets(1).Cells(57, 3)))

应该这样做。

编辑:我应该提到同样适用于 Cells(),所以我也更新了这些。

【讨论】:

  • 非常感谢@joseph4tw !问题解决了!
  • @Samuel 很高兴为您提供帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-21
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
相关资源
最近更新 更多