[英]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.