QueryTables.Add无法提取TXT文件

时间:2019-01-02 11:06:35

标签: excel vba

我在Excel中使用VBA遇到了一个奇怪的问题。我们将SAP作为工作中的财务系统,我们的许多报告都通过VBA运行。我的一位同事现在离开了,将报告导出为文本文件,然后使用Excel中的Querytables.add函数导入数据。

在大多数情况下,这是可行的,但是最近Excel无法导入文件,代码将无错误运行,但是VBA会跳过查询表而不导入它。

目前,我的工作是关闭所有excel实例,然后重新打开电子表格并运行宏,这似乎在大多数情况下都有效,但它是PITA。

我唯一能想到的就是我们对共享点和Office 365的更改,但这并不能解释为什么在第一次打开电子表格时宏可以起作用。

有人介意只是确认代码中是否缺少任何内容吗?

长期的解决方案是重写这部分代码,并将SAP作为.DAT文件直接下载到Excel,但可惜我现在没有时间:(

谢谢大家:)

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

0 个答案:

没有答案