QueryTables.Add Fail to Pick Up TXT file - PullRequest
0 голосов
/ 02 января 2019

У меня странная проблема с VBA в Excel.Мы используем SAP как нашу финансовую систему в работе, и многие наши отчеты проходят через VBA.Мой коллега, который теперь оставил, экспортировал отчеты в виде текстового файла, а затем использовал функцию Querytables.add в Excel для импорта данных.

По большей части это сработало, но недавно Excel не удалось импортировать данныефайл, код будет работать без ошибок, но VBA просто пропустит Querytables без его импорта.

В настоящее время моя работа заключается в том, чтобы закрыть все экземпляры Excel, повторно открыть электронную таблицу и запустить макрос. Похоже, это работает большую часть времени, но это PITA.

Единственное, о чем я могу думать, это наше изменение в sharepoint и Office 365, но это не объясняет, почему макрос работает при первом открытии электронной таблицы.

Не возражает ли кто-нибудь просто подтвердить, что в коде чего-то не хватает?

Долгосрочным решением будет переписать эту часть кода и загрузить SAP непосредственно в Excel в виде файла .DAT, нок сожалению, у меня просто нет на данный момент времени :(

Спасибо, ребята :)

With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & pathDirectory & "DFCGDownload.txt", Destination:=Range( _
    "A1"))
    .Name = "DFCGDownload"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = -535
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = False
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileOtherDelimiter = "|"
    .TextFileColumnDataTypes = Array(1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...