excel表中有员工信息,我需要将C列的第10884行到最后一行的数据与D盘目录下常用文件文件夹下很多的照片信息进行比对,如果一样,则删除掉D盘常用文件夹下的文件,下面阐述我的思路,首先遍历遍历D盘目录下常用文件夹下所有照片的文件名信息到ar数组里面,然后遍历excel的C列10884行到最后一行的所有数据到xls_ar数组里面,然后利用字典,将xls_ar数组里面的数据添加进去,通过exists方法和ar里面的进行比对,如果一样,则进行删除操作,代码如下:
Sub delete()
    Dim xlsfile, ar(), n%
    Dim xls_ar()
    xlsfile = Dir("D:\常用文件\" & "*.jpg")
    Do Until Len(xlsfile) = 0
        n = n + 1
        ReDim Preserve ar(1 To n)
        ar(n) = xlsfile
        xlsfile = Dir
    Loop
    
    xls_ar = Range("C10884:C" & [C65535].End(3).Row)
    Dim c
    Set dic = CreateObject("scripting.dictionary")
    For Each c In xls_ar
        dic(c) = ""
    Next
    For i = 1 To UBound(ar) - LBound(ar) + 1
        If dic.exists(ar(i)) Then
            Dim filename As String
            filename = Dir("D:\常用文件\" & ar(i) & ".jpg")
            Kill "D:\常用文件\" & filename
            filename = Dir
        End If
    Next
End Sub我的困惑在于filename = Dir("D:\常用文件\" & ar(i) & ".jpg")因为程序会无法识别ar(i)他只会去查找变量名ar(i),而不是里面的值,很奇怪
我也不知道是不是这种需要引用还是怎么的?还请各位大神给我一些指点与帮助,我今天才开始学的VBA