【发布时间】:2019-05-10 20:17:04
【问题描述】:
我正在寻找一种将 .txt 文件导入 Excel 工作表的方法,并将文件名(比如 P06_113.txt)添加到同一工作表内的单独单元格中。
我寻找一个在导入时提取文件名的函数,然后将文件名复制并粘贴到给定的单元格中。
Sub Import()
Dim myFile As Variant
myFile = Application.GetOpenFilename(FileFilter:="TXT Files, *.txt",
Title:="Select File To Be Opened")
Do While myFile <> vbNullString
If myFile = False Then Exit Sub
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & myFile _
, Destination:=Range("$A$1"))
.Name = myFile
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(8, 4, 6)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
预期的结果是:
例子
一年的数据
数据 b 年
数据c年
“文件名.txt”
【问题讨论】:
-
可以从
myFile获取文件名。 Stack Overflow 上有示例从完整路径中提取文件名。