我有一个excel工作表,其中包含文件的文件扩展名列表,逻辑文件大小和物理文件大小。这是我对列表中每个文件的唯一信息。基本的例子:
.txt 100 80
.txt 120 90
.mpg 2444 2000
我想要做的是使用VBA获取给定文件扩展名的Windows类型。 (即,在下图中.CAB ='安全目录',。dll ='应用程序扩展',依此类推)
(我没有足够的声誉来发布图片。链接在这里:http://i.stack.imgur.com/8Xqax.png)
答案 0 :(得分:0)
有大量的文件扩展名和说明,我不确定从哪里获得一个好的列表...但如果你有一对,你可以手动添加它们。
以下代码假设您的数据(即.txt 100 80
)在单元格A1中开始。这将您在单元格B1中给出的描述(或单元格直接在右侧):
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
如果你有一个庞大的扩展和描述列表,你可能可能会使用一个数组来执行此操作,或者创建一个表并使用Vlookup。只是取决于您想要手动输入多少。