如何查找excel列表中的文件是否存在?

如何查找excel列表中的文件是否存在?
Excel文件的A列中列出了一系列的文件名,要想实现查找该文件是否在该文件夹及子文件夹下是否存在,如果存在则在对应B列中显示“打开文件”的链接,否则B列为空,通过VBA或函数如何实现?

使用VBA的话:


Sub checkFiles()
    Dim row As Integer
    Dim fileName As String
    Dim filePath As String
    Dim fileExists As Boolean
    
    '设置要查找的文件夹路径
    filePath = "C:\Users\Documents\"
    
    '遍历A列中的所有文件名
    For row = 1 To Range("A1").End(xlDown).row
        '获取当前行的文件名
        fileName = Range("A" & row).Value
        
        '检查文件是否存在
        fileExists = Dir(filePath & fileName) <> ""
        
        '如果文件存在,则在B列中添加链接
        If fileExists Then
            Range("B" & row).Formula = "=HYPERLINK(""" & filePath & fileName & """,""打开文件"")"
        End If
    Next row
End Sub

该代码遍历 A 列中的所有文件名,并检查文件是否存在于指定的文件夹 filePath 中。如果文件存在,则使用 Excel 的 HYPERLINK 函数在 B 列中添加一个超链接,链接到对应的文件。

您可以将上述代码复制到Excel的VBA编辑器中,并将 filePath 修改为您需要查找的文件夹路径,然后运行它来查找并添加链接。