【发布时间】:2017-07-29 12:14:17
【问题描述】:
我有一个基于动态链接的网络抓取连接。因此,我无法设置固定连接。以下宏创建连接,然后更新工作表。
With ThisWorkbook.Worksheets("Data").QueryTables.Add(Connection:= _
"<URL redacted>", Destination:=ThisWorkbook.Worksheets("Data").Range("$A$1"))
.Name = "DataPull"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.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
.Delete
End With
此宏每 1 分钟运行一次以更新数据。因此,这在每次运行时都会创建一个新连接。我不希望存在如此多的连接,因为它们将不再被使用。 网络抓取完成后如何删除连接? 或者有没有办法建立一个可以根据变量修改自身的连接。变量是根据当前时间变化的时间间隔。
我看过这个选项
For Each qr In ThisWorkbook.Queries
qr.Delete
Next qr
但我不想删除另外两个固定连接。 创建的新连接具有名称 Connection、Connection1 等。有没有办法根据名称删除连接?
【问题讨论】:
标签: vba excel connection