maandag 13 mei 2024

ZoekDir-macro

 



Met een macro kunnen bestanden doorzocht worden of bestanden worden aangemaakt en geplaatst in een map op een harde schijf.

Vaak moet de gebruiker zelf de betreffende map kunnen selecteren. Om tikfouten te voorkomen is het handig als de gebruiker een map kan kiezen zoals het dit ook in Windows-Verkenner of in Office-programma's via Bestand > Openen kan doen.

En dat kan met een kleine macro.
Hierboven is een oranje cel (laten we aannemen dat dit cel A1 is) waarin de directory vermeld moet worden. Door aan de button er onder de volgende macro te koppelen, kan snel de directory worden vastgelegd.

Sub ZoekDir()
'Deze macro komt van excel-leren.blogspot.com

    Dim iZoekmapAnnuleren As Integer
    Dim oZoekMap As Object
    Dim vMijnWaarschuwing As Variant
    Dim sMap As String
    
    iZoekmapAnnuleren = 0
    Set oZoekMap = Application.FileDialog(msoFileDialogFolderPicker)
    With oZoekMap
        .Title = "Kies de gewenste map"
        .AllowMultiSelect = False
        .InitialFileName = ""
        If .Show <> -1 Then iZoekmapAnnuleren = 1
        If iZoekmapAnnuleren = 1 Then
            vMijnWaarschuwing = MsgBox("Er is geen directory gekozen. De macro wordt gestopt.", vbOKOnly, "FOUTJE")
            Exit Sub
        End If
        On Error GoTo foutje
        sMap = .SelectedItems(1)
        GoTo vervolgnafoutje
    End With
    
foutje:
        vMijnWaarschuwing = MsgBox("Er is geen directory gekozen. De macro wordt gestopt.", vbOKOnly, "FOUTJE")
        Exit Sub
    
vervolgnafoutje:
    sMap = sMap & "\"
    Blad1.Range("A1") = sMap

End Sub