Excel 我怎样才能拿到窗户;“类型”;在VBA中仅具有文件扩展名的文件的?
我有一个excel工作表,其中有文件扩展名列表、逻辑文件大小和物理文件大小。这是列表中每个文件的唯一信息。基本示例: .txt 100 80 .txt 120 90 .mpg 2444 2000 我想做的是使用VBA获取给定文件扩展名的windows类型。(即,在下图中.CAB='Security Catalog',.dll='Application extension',等等)Excel 我怎样才能拿到窗户;“类型”;在VBA中仅具有文件扩展名的文件的?,excel,vba,Excel,Vba,我有一个excel工作表,其中有文件扩展名列表、逻辑文件大小和物理文件大小。这是列表中每个文件的唯一信息。基本示例: .txt 100 80 .txt 120 90 .mpg 2444 2000 我想做的是使用VBA获取给定文件扩展名的windows类型。(即,在下图中.CAB='Security Catalog',.dll='Application extension',等等) (我没有足够的声誉来发布图片。这里的链接:)有大量的文件扩展名和描述,我不知道从哪里可以得到一个好的列表……但是如果
(我没有足够的声誉来发布图片。这里的链接:)有大量的文件扩展名和描述,我不知道从哪里可以得到一个好的列表……但是如果你有一些,你可以手动添加它们 以下代码假设您的数据(即
.txt 100 80
)从单元格A1开始。这会将您给出的描述放在单元格B1中(或直接位于右侧的单元格):
如果您有一个庞大的扩展和描述列表,那么您可以改为使用数组,或者创建一个表并使用Vlookup。这在某种程度上取决于您想要手动键入的文件大小。文件扩展名或多或少是一件方便的事情,并不总是反映特定的文件类型,尤其是在*nix上。例如,我可以将文本文件命名为text.jpg。应该存储在注册表中。我想你是
Sub test()
Dim i&, lastRow&
Dim fileExt$
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
With Cells(i, 1)
fileExt = Trim(Left(Cells(i, 1), WorksheetFunction.Search(" ", Cells(i, 1).Value)))
Debug.Print fileExt
Select Case fileExt
Case ".txt"
Cells(i, 2).Value = "Text File"
Case ".mp4"
Cells(i, 2).Value = "Mpeg 4"
Case ".mpg"
Cells(i, 2).Value = "Mpeg"
End Select
End With
Next i
End Sub