运行 时间错误 1004 excel 找不到刷新此外部范围的文本文件

Run time error 1004 excel cannot find the text file to refresh this external range

我正在尝试通过 VBA.

使用 Data=>From Text 选项将文件夹中的 tsv 文件导入为文本文件,从而将它们转换为 xlsx 格式

期间遇到这个错误

代码:

Sub convert()

Dim CSVfolder As String, XlsFolder As String, fname As String, wBook As Workbook

CSVfolder = ActiveSheet.Range("B2").Value & "\"

fname = Dir(CSVfolder & "*.tsv")

Do While fname <> ""
    Workbooks.Add
    
    Set wBook = ActiveWorkbook
    
       With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & fname, Destination:=Range("$A"))
        .Name = fname
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 65001
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierNone
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
   
    wBook.Close False
    fname = Dir
    
 Loop
End Sub

结束子


为什么我在 .Refresh BackgroundQuery:=False 中收到错误?

错误发生在,因为它正处于查找文件的 Refresh 阶段。

问题是 Fname 不包含路径。

将您的连接更改为:

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & CSVfolder & fname, Destination....