excel vba文件名提取没有文件扩展名

时间:2014-11-10 20:33:28

标签: excel vba excel-vba

我有以下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?如何?

非常感谢你。

2 个答案:

答案 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会留下点。

代码将假设您表示活动工作表的单元格。如果要从其他工作表中获取数据,则需要添加代码以选择新工作表。

我不确定你要使用的是什么,因为很难说你的代码在哪里需要它。