在给定文件名的一小部分的位置查找文件是灵活的

时间:2017-03-02 12:39:42

标签: excel vba excel-vba

我想创建一个代码来查找文件目录中的文件,并告诉我它是否只给出了文件名的一小部分。

我把这个分数放在宏表的第I列I8,这是一个数字“121”

如果我手动输入数字121而不是i,下面的代码可以工作,但是当从单元格引用i时它只是标记目录中的随机excel文件

Dim FilePath3 As String
Dim i As String

FilePath3 = Sheets("Macro").Range("J6")
i = Sheets("Macro").Range("I8")

file = Dir$(FilePath3 & "*i*" & ".*")

If (Len(file) > 0) Then
  MsgBox "found " & file
End If

1 个答案:

答案 0 :(得分:1)

i位于您的文本块"*i*"内,因此它不是您在代码中先前定义的变量i

此外,你可以在这样的循环中使用Dir()来查看是否有多个结果:

Dim FilePath3 As String
Dim i As String

FilePath3 = Sheets("Macro").Range("J6")
i = Sheets("Macro").Range("I8")

file = Dir$(FilePath3 & "*" & i & "*.*")
Do While file <> vbNullString
  If (Len(file) > 0) Then
     MsgBox "found " & file
  End If
  file = Dir()
Loop