簡體   English   中英

excel vba文件名提取,不帶文件擴展名

[英]excel vba file name extraction without file extension

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

非常感謝你。

我要解決的就是

Else
        sStr = InStr(varDirectory, ".txt")
        Cells(i + 2, 2) = Left(varDirectory, sStr - 1)
 flNAME = Left(Cells(1, 1).Value,Len(Cells(1, 1).Value)-4)

這將獲取指示的單元格的值,並修剪掉最后的字符。 顯然,如果它不是帶有三個字母擴展名的點,則將有多余的字符。 例如,.XLSX將保留點。

該代碼將假定您是指活動工作表的單元格。 如果要從其他工作表中獲取數據,則需要添加代碼以選擇新工作表。

我不確定您打算使用什么,因此很難在代碼中說出您將在哪里使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM