如果我建立了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
我在网上看过各种方法,但没有一种方法适合我。
提前感谢您的帮助。
答案 0 :(得分:1)
刷新查询的最佳方法是设置.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
答案 1 :(得分:1)
我曾经遇到过同样的问题,在我的一个解决方案中,我不得不通过VBA刷新Web查询结果。
我找到的最简单的解决方案是
'refresh data extracted from webpage
ActiveWorkbook.RefreshAll
也许你也可以使用它。