2017-03-02 53 views
2

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

从细胞引用我当我已经把宏片,其是一个数字“121”

在下面的代码的工作,如果我手动将数121代替我的,的该级分I栏I8但它只是标志随机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 
+0

我看你没拿[旅游](点击它),也不接受任何关于你以前的问题的答案,所以请花一分钟看看SO社区的工作方式! – R3uK

回答

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 
+0

Wonderful,FilePath3&“*”&i&“*。*”我应该考虑一下,谢谢 –

+0

@罗曼伊瓦诺夫:很高兴能帮上忙!花一点时间参加[参观],并发现如何接受你的问题的答案。这是SO赞助的最重要的部分! – R3uK