I have this code that gets all file types. Then if it has the extensions in the array, it should be stored in the excludedFile array and will be displayed after execution.
Dim excludedFile() as String
Const exts = _
".ade.adp.app.asp.bas.bat.cer.chm.cmd.com.cpl.crt.csh.der.exe.fxp.gadget" & _
".hlp.hta.inf.ins.isp.its.js.jse.ksh.lnk.mad.maf.mag.mam.maq.mar.mas.mat"
Dim file As Variant
file = Application.GetOpenFilename("All Files, *.*", , "Select File", , True)
ReDim data(1 To UBound(file) + 1, 1 To 1)
' filter the list
For i = LBound(file) To UBound(file)
ext = LCase(Mid(file(i), InStrRev(file(i), ".")))
If InStr(1, exts, ext & ".") = 0 Then ' if not blacklisted
count = count + 1
data(count, 1) = file(i)
Else 'I've tried this but returns Subscript out of range error
excludedFile(UBound(excludedFile)) = file(i)
ReDim Preserve excludedFile(1 To UBound(excludedFile) + 1) As String
found = true
End If
Next
if found then
MsgBox Join(excludedFile, vbCrLf)
end if
Any help is appreciated. Thanks.
excludedFiledeclaration array. you also have a type error inIf InStr(1, exts, ext & ".") = 0 Thenshould be(1, ext, ext & ".")no?GetFoldercommand?file = Application.GetOpenFilename("All Files, *.*", , "Select File", , True). Thanks