我使用宏从htm文件导入数据。到目前为止,查询表也工作得非常好。然后我将整个文件移动到一个在线文件夹,它不再工作了。宏停在最后一行,backgroundquery。我认为这与文件移动到在线文件夹有关,速度可能不够快,无法导入数据。但我没有足够的经验来理解那里写的是什么。我刚刚录制了宏。你知道它为什么停止工作吗?
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;file:///C:/.../.../..." & Datei & ".htm", Destination:= _
Range("$A$1"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.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
End With
答案 0 :(得分:0)
它停止,因为它无法加载(.refresh)文件。你检查过文件的路径了吗?
否则可能会出现问题,因为您已经有了一个查询表,并且无法创建/替换旧的查询表。删除旧的查询表并再次运行您的代码。要刷新现有查询表,请使用以下子句:
Sub Refresh()
Dim qt As QueryTable
Set qt = Worksheets("Table1").ListObjects(1).QueryTable
With qt
.Refresh
End With
End Sub