Excel:使用使用通用命名约定的文件名中的数据填充单元格

时间:2014-07-29 20:51:14

标签: excel vba excel-vba cmd explorer

我有1000多个文件(主要是PDF)都遵循一个共同的命名惯例,例如:

CA0001.02纳税申报表A-333 650.5ca 20140729.pdf

每个文件的文件名都有不同的信息(“CA编号”不同,“A编号”不同,日期不同等)。

我想创建一个电子表格,以便我可以操作这些文件名包含的数据;换句话说,取出文件名中列出的5条信息,并在Excel中将其转换为5列。

在我的研究中,我遇到了将 Excel 文件名插入当前工作表的方法,但这不是我想要的。我想插入位于计算机其他位置的数千个其他文件的文件名。我理想的解决方案将确保:

  1. 每个文件都有自己的行
  2. 文件名中的每个字段都会进入相应的Excel列
  3. 任何缺少数据的文件名都不会破坏操作(例如,如果日期“20140729”不在文件的末尾,则整个事情不会中断,它只会将该单元格留空并转到下一个文件)。
  4. 我想这会需要VBA或命令提示符(也许还有别的东西?)但是我的VBA技能非常弱。我真的很感激任何让我入门的建议。谢谢!

1 个答案:

答案 0 :(得分:0)

您的问题对于一个简单的答案来说太笼统了。以下VBA功能在Google的帮助下可以帮助您入门:

Sub Test()
  Dim FN As String, R As Integer
  R = 1
  FN = Dir("C:\*")
  Do While FN <> ""
    Cells(R, 1) = FN
    If InStr(FN, "CA") Then Cells(R, 2) = "This contains CA!"
    FN = Dir
    R = R + 1
  Loop
End Sub