我有以下excel vba代码从文件夹中获取txt文件并将它们放入excel中。
Sub testfilelistfromfolder()
Dim varDirectory As Variant
Dim flag As Boolean
Dim i As Integer
Dim strDirectory As String
strDirectory = Application.ActiveWorkbook.Path & "\"
i = 1
flag = True
varDirectory = Dir(strDirectory & "*.txt", vbNormal)
Range("B3:B82").Select
Selection.ClearContents
While flag = True
If varDirectory = "" Then
flag = False
Else
Cells(i + 2, 2) = varDirectory
varDirectory = Dir
i = i + 1
End If
Wend
End Sub
所以我的问题是:
有没有办法列出没有.txt扩展名的txt文件名?
或者我应该添加一行来修剪名称?
像这样的东西:
variable = Left(Sheet1.[A1],InStr(Sheet1.[A1],".")-1)
如果是这样,我应该如何将其改编为原始代码,我应该把它放在哪里?
是否也可以用活动表参数替换Sheet1?如何?
答案 0 :(得分:2)
Else
sStr = InStr(varDirectory, ".txt")
Cells(i + 2, 2) = Left(varDirectory, sStr - 1)
答案 1 :(得分:0)
flNAME = Left(Cells(1, 1).Value,Len(Cells(1, 1).Value)-4)
这会抓取指示的单元格的值,并修剪最后一个字符。显然,如果它不是带有三个字母扩展名的点,你将有额外的字符。例如,.XLSX会留下点。
代码将假设您表示活动工作表的单元格。如果要从其他工作表中获取数据,则需要添加代码以选择新工作表。
我不确定你要使用的是什么,因为很难说你的代码在哪里需要它。