Заранее спасибо за помощь!
В VBA я использую следующий код для извлечения данных из файла IQY, хранящегося в Sharepoint (Workbooks.Open не был хорошим вариантом из-за приглашения «Импорт данных»):
Function getIQYWorkbook(ByVal filename As String) As Workbook
Dim wb As Workbook
Set wb = Workbooks.Add
Dim IQYFile As String
IQYFile = ThisWorkbook.Path & "/" & filename
With wb.Sheets("Sheet1").QueryTables.Add(Connection:= _
"FINDER;" & IQYFile, Destination:=Range("A1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
End With
Set getIQYWorkbook = wb
End Function
Что удивляет, так это то, что извлекаемые данные не соответствуют фактическому файлу, который я передаю. Независимо от того, что я передаю, один конкретный файл IQY в папке Sharepoint загружен Что расстраивает, так как эта функция вызывается в цикле, который проходит с разными именами файлов.
Например, когда я использую следующий код (обратите внимание, что я установил путь к файлу со словом "dogs", что нелепо), тот же самый файл sharepoint все еще извлекается.
Function getIQYWorkbook(ByVal filename As String) As Workbook
Dim wb As Workbook
Set wb = Workbooks.Add
Dim IQYFile As String
IQYFile = "dogs"
With wb.Sheets("Sheet1").QueryTables.Add(Connection:= _
"FINDER;" & IQYFile, Destination:=Range("A1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
End With
Set getIQYWorkbook = wb
End Function
Это сохраняется при перезагрузке / закрытии Excel / и т.д .... это как если бы QueryTables.Add "застрял" при извлечении одного и того же файла независимо от того, какой путь к файлу я передаю. Есть идеи о том, что происходит?
Большое спасибо!