Web查询VBA刷新

如果我build立了一个Web查询连接,那么更新URL并刷新与VBA的连接的最好方法是什么?

这基本上是我想要做的:

Sub RefreshWebQuery() Dim request As String request = 'some url constructed by concatenating cell values 'set command text of my web query as request 'update my query table End Sub 

我在网上看到了各种方法,但没有一个是简洁/为我工作。

在此先感谢您的帮助。

刷新查询的最佳方法是设置.Refresh BackgroundQuery := False 。 刷新应该刷新结果。 你也可以设置.RefreshPeriod = 0

 Sub webquery() Dim url As String url = "URL;http://test.com" With Worksheets("Sheet1").QueryTables.Add(Connection:=url, Destination:=Worksheets("Sheet1").Range("A1")) .Name = "Geocoder Query" .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = False .RefreshStyle = xlOverwriteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub 

我曾经有同样的问题,在我的一个解决scheme中,我不得不通过VBA刷新一些macros执行中的Web查询结果。

我find的最简单的解决scheme是

  'refresh data extracted from webpage ActiveWorkbook.RefreshAll 

也许你也可以用这个。