关于 VBA 数据文本QueryTables.Add(Connection后面是文件名怎样使用变量?为啥我的例子行不通

数据文本导入的时候,QueryTables.Add(Connection后面是文件名怎样使用变量?为啥我的例子行不通

Sub 例1【试试】()
       Dim fileToOpen
       ChDir ThisWorkbook.Path
       Set fileToOpen = Application.GetOpenFilename("文本文件,*.txt,Excel文   件,*.xlsx;*.xlsm;*.xls", 1, "选择要提取数据的文件")
 
  With ActiveSheet.QueryTables.Add(Connection:="TEXT; & fileToOpen", Destination:=Range("$A$1"))
        .AdjustColumnWidth = False
        .TextFileParseType = xlFixedWidth
        .TextFileColumnDataTypes = Array(9, 2, 1, 1, 9, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9)
        .TextFileFixedColumnWidths = Array(8, 10, 32, 4, 12, 12, 13, 10, 13, 22, 19, 19, 19, 19, 19, 15)
        .Refresh BackgroundQuery:=False
    End With

End Sub

结果是这样,怎么回事?

img

数据类型不对,你按调试,编辑器会将某行代码标黄的,黄了的代码就是出错了