Private BestandenLijst() As String
Private counter As Integer
Sub DATA()
Sheets("Cockpit").Select
ActiveSheet.Unprotect
Dim DATADocument As String
DATADocumentnaam = Range("AB43").Value
DATADocumentlocatie = Range("AB44").Value
Documentnaam = Range("AB9").Value
Application.DisplayAlerts = False
Workbooks.Open Filename:="" & DATADocumentlocatie & "", ReadOnly:=True
Columns("A:AA").Select
Selection.Copy
Windows("" & Documentnaam & "").Activate
Sheets("Cockpit").Select
Columns("AA:BA").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("AB9").Value = ActiveWorkbook.Name
Range("AB10").Value = ActiveWorkbook.Path
counter = 0
Application.Run "Bestanden_Zoeken"
Range("AB9").Value = ActiveWorkbook.Name
Range("AB10").Value = ActiveWorkbook.Path
Columns("Z:BA").Select
Selection.EntireColumn.Hidden = True
Windows("" & DATADocumentnaam & "").Close savechanges:=False
Windows("" & Documentnaam & "").Activate
Sheets("Cockpit").Select
Range("A1").Select
End Sub
Sub Bestanden_Zoeken()
If Range(Cells(13 + counter, 27), Cells(13 + counter, 27)).Value <> "" Then
Application.Run "Zoeken2"
Exit Sub
End If
End Sub
Sub Zoeken2()
NieuweFileSearch Pad:=Range(Cells(14 + counter, 28), Cells(14 + counter, 28)).Value, BestandsNaam:=Range(Cells(13 + counter, 28), Cells(13 + counter, 28)).Value, BestandsType:="xls*", _
ZoekOnderliggendeMappen:=True, Teller:=0
If Join(BestandenLijst) = Empty Then
MsgBox "Het document " & Range(Cells(13 + counter, 28), Cells(13 + counter, 28)).Value & " is niet gevonden."
counter = counter + 3
Application.Run "Bestanden_Zoeken"
Else
Range(Cells(15 + counter, 28), Cells(15 + counter, 28)).Value = BestandenLijst
counter = counter + 3
Application.Run "Bestanden_Zoeken"
Exit Sub
End If
End Sub
Private Sub NieuweFileSearch(Pad As String, BestandsNaam As String, BestandsType As String, _
ZoekOnderliggendeMappen As Boolean, Teller As Long)
Dim FSO As Object, Map As Object, Bestand As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
BestandenLijst(1) = "Niet gevonden"
On Error Resume Next
For Each Bestand In FSO.GetFolder(Pad).Files
If Bestand.Name Like BestandsNaam & "." & BestandsType Then
Teller = Teller + 1
ReDim Preserve BestandenLijst(1 To Teller)
BestandenLijst(Teller) = Pad & Bestand.Name
End If
Next
If ZoekOnderliggendeMappen Then
For Each Map In FSO.GetFolder(Pad).Subfolders
NieuweFileSearch Pad & Map.Name & "\", BestandsNaam, BestandsType, True, Teller
Next
End If
End Sub