Ga naar inhoud

Welkom op PC Helpforum!
PC Helpforum helpt GRATIS computergebruikers sinds 2006. Ons team geeft via het forum professioneel antwoord op uw vragen en probeert uw pc problemen zo snel mogelijk op te lossen. Word lid vandaag, plaats je vraag online en het PC Helpforum-team helpt u graag verder!


bennieboef

Macro zoeken bestand windows map+submappen

Aanbevolen berichten

Hallo Allemaal,

Mijn macro zoekt in een windows map op de volgende manier : "prd." + <cell value> + ".dld"
Het probleem is dat er niet wordt gezocht in inderliggende bmappen

Hier de macro :

Option Explicit

Sub Find_DLD()
Dim AckTime As Integer, InfoBox As Object
Dim iRow As Integer ' ROW COUNTER.
Dim sSourcePath As String, currentpath As String
Dim sDestinationPath As String
Dim sFileType As String
Dim sFileType1 As String

Dim bContinue As Boolean

bContinue = True
iRow = 2

' THE SOURCE AND DESTINATION FOLDER WITH PATH.
sSourcePath = "S:"
sFileType = ".dld" ' TRY WITH OTHER FILE TYPES LIKE ".pdf".
sFileType1 = "prd."


' LOOP THROUGH COLUMN "B" TO PICK THE FILES.
While bContinue

If Len(Range("E" & CStr(iRow)).Value) = 0 Then ' DO NOTHING IF THE COLUMN IS BLANK.
Set InfoBox = CreateObject("WScript.Shell")
AckTime = 1
Select Case InfoBox.Popup("Klaar.", _
AckTime, "Hieperdepiep", 0)
Case 1, -1
Exit Sub
End Select
Else
' CHECK IF FILES EXISTS.

If Len(Dir(sSourcePath & sFileType1 & Range("E" & CStr(iRow)).Value & sFileType)) = 0 Then
Range("F" & CStr(iRow)).Value = "Geen kantprogramma"
Range("F" & CStr(iRow)).Font.Bold = True
Else
Range("F" & CStr(iRow)).Value = "Kantprogramma bestaat!"
Range("F" & CStr(iRow)).Font.Bold = False

End If
End If
iRow = iRow + 1 ' INCREMENT ROW COUNTER.
Wend
End Sub

Het zou fantastisch zijn al iemand deze code zo kan aanpassen dat de macro ook in de onderliggende mappen van s:\ gaat zoeken.

Alvast bedankt voor jullie hulp.

 

Bijlage :  bestand met macro.

Controle dxf + kantprogramma.xlsm

Deel dit bericht


Link naar bericht
Delen op andere sites

Met zoveel modules in dat bestand mag je wel even vermelden in welke module we deze  code vinden. Tevens is het voor de leesbaarheid wenselijk dat je jouw code tussen <code > tags plaatst.

Deel dit bericht


Link naar bericht
Delen op andere sites

Laten we hiermee beginnen.


 

Sub Find_DLD()
Dim AckTime As Integer, InfoBox As Object
Dim iRow As Integer ' ROW COUNTER.
Dim sSourcePath As String
Dim sFileType As String
Dim sFileType1 As String
Dim bContinue As Boolean
Dim found As Boolean, fl As Object, fld As Object

bContinue = True
iRow = 2

' THE SOURCE AND DESTINATION FOLDER WITH PATH.
sSourcePath = "S:"
sFileType = ".dld" ' TRY WITH OTHER FILE TYPES LIKE ".pdf".
sFileType1 = "prd."


' LOOP THROUGH COLUMN "B" TO PICK THE FILES.
While bContinue

    If Len(Range("E" & CStr(iRow)).Value) = 0 Then ' DO NOTHING IF THE COLUMN IS BLANK.
        Set InfoBox = CreateObject("WScript.Shell")
        AckTime = 1
        Select Case InfoBox.Popup("Klaar.", AckTime, "Hieperdepiep", 0)
            Case 1, -1
            Exit Sub
        End Select
    Else
        On Error Resume Next
        With CreateObject("scripting.filesystemobject")
            For Each fl In .getfolder(sSourcePath).Files
                If fl.Name Like sFileType1 & Range("E" & CStr(iRow)).Value & sFileType Then found = True: GoTo gevonden
            Next
            For Each fld In .getfolder(sSourcePath).subfolders
                For Each fl In fld.Files
                    If fl.Name Like sFileType1 & Range("E" & CStr(iRow)).Value & sFileType Then found = True: GoTo gevonden
                Next
            Next
        End With
gevonden:
        If Not found Then
            Range("F" & CStr(iRow)).Value = "Geen kantprogramma"
            Range("F" & CStr(iRow)).Font.Bold = True
        Else
            Range("F" & CStr(iRow)).Value = "Kantprogramma bestaat!"
            Range("F" & CStr(iRow)).Font.Bold = False
        End If
    End If
    iRow = iRow + 1 ' INCREMENT ROW COUNTER.
Wend
End Sub

 

Deel dit bericht


Link naar bericht
Delen op andere sites

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in


  • Welkom op PC Helpforum

  • Leden statistieken

    • Aantal leden
      39.361
    • Meeste online
      1.765

    Nieuwste lid
    Jaslin
    Registratiedatum
  • Gerelateerde inhoud

    • Door Benjaplus
      Hoi hoi,
       
      Ik ben bezig met het opstellen van een factuur in Excel alleen heb ik nog niet al te veel ervaring met Excel en ik kan niks vinden over mijn probleem op internet.
       
      Mijn probleem:
      Ik wil deze zin onderaan mijn factuur: U wordt vriendelijk verzocht het bedrag van (Bedrag uit H36(volledig uitgeschreven in euros)) voor (VANDAAG+14) over te maken op NL00 RABO 0123 4567 89 t.n.v. Naam onder melding van factuurnummer: (nummer uit A14)
       
      Alle ( ) moeten formules worden
       
      Dingen die vet gedrukt zijn moet dat ook zijn in excel
       
      Ik kom zelf tot: ="U wordt vriendelijk verzocht het bedrag van €"&H36&" voor "&VANDAAG()+14&" over te maken naar NL00 RABO 0123 4567 89 t.n.v. Naam onder melding van factuurnummer: "&A14&""
       
      Dan krijg ik: U wordt vriendelijk verzocht het bedrag van €254.1 voor 43775 over te maken naar NL00 RABO 0123 4567 89 t.n.v. Naam onder melding van factuurnummer: 2001
       
      €254.1 moet €254.10 worden (komt door getalnotaties)
      43775 moet 06-11-19 worden (komt door getalnotaties)
      en de andere moet vet gedrukt worden
       
      Het is veel gevraagd, ik weet het, maar ik kom er niet uit. Misschien is het gewoon niet mogelijk, laat het maar weten.
       
      Alvast enorm bedankt!
    • Door Kadoim
      Is er een manier in Excel om automatisch te laten berekenen welke kolommen de minste overlap hebben?
      Ik heb een draaitabel (mijn eerste...) gemaakt van de inschrijvingen in bepaalde opleidingen. De opleidingen gaan altijd door op maandagnamiddag.
      Door het toevoegen van slicers kan ik één voor één bekijken welke opleidingen géén overlappende inschrijvers hebben, maar voor het opmaken van de opleidingskalender, zou ik ook graag automatisch te zien krijgen welke opleidingen de minste overlappers hebben - aangezien het niet altijd haalbaar is om de opleidingen te plannen zonder enige overlap.
       
      Ik heb een bestandje toegevoegd als voorbeeld.
      Vertaald naar dat voorbeeld zou ik dus graag weten of het mogelijk is om op een snelle, geautomatiseerde manier te weten te komen welke twee kolommen de minste overlappende 1'tjes hebben, zodat ik weet dat ik die opleidingen eventueel op eenzelfde dag kan laten doorgaan.
       
      Alvast bedankt voor de hulp!
      Voorbeeld voor pc helpforum draaitabel.xlsx
    • Door lv
      Hallo,
       
      Ik heb een Excelbestand met meerdere kolommen, in de eerste kolom staat het aantal, in de tweede een artikelnummer, in de andere kolommen staat informatie over dit artikelnummer.
      Ik ben op zoek naar een macro waarbij de dubbelen uit kolom 2 (Artikelnummers) gevonden worden, de aantallen in kolom 1 van deze overeenkomende artikelnummers worden opgeteld en dan op 1 na, de dubbele artikelnummers verwijderd worden.
       
      In mijn tabel zitten afbeeldingen en de volgorde is essentieel, waardoor een draaitabel niet geschikt is (voor zover ik weet). Ik ben zelf niet zo thuis in de macro's en heb nog geen goede macro kunnen ontdekken. 

      Iemand die mij hierbij kan helpen?

       
    • Door Excel dummy
      Ik heb een basis excel-bestand gecreëerd bestaande uit verschillende tabs.
      Per klant zal dit bestand worden aangemaakt. Graag wil ik een "extern dashboard" creëren waar ik bepaalde informatie gegroepeerd kan zien.
      Liefst zou ik dit niet met bvb. een Vlookup formule doen, maar een macro creëren die ervoor zorgt dat deze informatie automatisch wordt opgevraagd op het moment dit document voor een nieuwe klant wordt aangemaakt.
       
      Ik wil het risico vermijden dat een collega of ik vergeet om manueel de vlookup formule toe te voegen en dat de gegroepeerde gegevens niet zouden kloppen. 
       
      Heeft er iemand raad hierbij?
       
      Alvast bedankt!
    • Door SAHAT
      Hallo allemaal, ik ben nieuw hier.
       
      Ik zou graag mijn contextmenu willen opschonen (zie bijlagen), alleen weet ik niet hoe ik dit moet doen.
      Zo zou ik bijvoorbeeld graag "Kopiëren naar", "Snelkoppeling maken",  "Verwijderen" en "Op apparaat weergeven" uit mijn file context menu willen halen. Niet alleen de locaties die de pijltjes weergeven, maar de kopjes zelf ook.
      Uit mijn explorer context menu zou ik graag "Delen met" wilen verwijderen.
      Ook, indien mogelijk, dat een nieuw tekstdocument aanmaken (via explorer context menu) niet via "Nieuw --> Tekstdocument" gaat maar dat "Tekstdocument" gewoon in (explorer) contextmenu staat onder de andere opties.
       
      Ik weet bijna zeker dat dit mogelijk is, maar hoe weet ik niet..
       

       

       

Logo

OVER ONS

PC Helpforum helpt GRATIS computergebruikers sinds juli 2006. Ons team geeft via het forum professioneel antwoord op uw vragen en probeert uw pc problemen zo snel mogelijk op te lossen. Word lid vandaag, plaats je vraag online en het PC Helpforum-team helpt u graag verder!

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.