Note: The other languages of the website are Google-translated. Back to English

 Hoe kan ik controleren of een map bestaat en zo niet maken?

Heeft u ooit geprobeerd te controleren of een map al dan niet bestaat uit een Excel-werkblad? In dit artikel zal ik het hebben over het controleren of een map in een opgegeven pad bestaat, zo niet, dan wordt de map automatisch onder het pad aangemaakt.

Controleer of een map bestaat in een specifiek bestandspad met VBA-code

Maak de map als deze niet bestaat in een specifiek bestandspad met VBA-code


pijl blauw rechts bel Controleer of een map bestaat in een specifiek bestandspad met VBA-code

De volgende VBA-code kan u helpen om te controleren of een map in een specifiek bestandspad bestaat, doe dit als volgt:

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: controleer of een map bestaat in een specifiek bestandspad:

Sub Test_Folder_Exist_With_Dir()
'Updateby Extendoffice
    Dim sFolderPath As String
    sFolderPath = "C:\Users\DT168\Desktop\Test folder"
    If Right(sFolderPath, 1) <> "\" Then
        sFolderPath = sFolderPath & "\"
    End If
    If Dir(sFolderPath, vbDirectory) <> vbNullString Then
        MsgBox "Folder exist", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Folder doesn't exist", vbInformation, "Kutools for Excel"
    End If
End Sub

Opmerking: In de bovenstaande code moet u het mappad en de naam wijzigen C: \ Users \ DT168 \ Desktop \ Testmap aan uw nodig.

3. Druk vervolgens op F5 sleutel om deze code uit te voeren, krijg je de volgende resultaten:

doc map bestaat 1


pijl blauw rechts bel Maak de map als deze niet bestaat in een specifiek bestandspad met VBA-code

Controleer of een map bestaat in een bestandspad, zo niet, om deze onder dit specifieke bestandspad te maken, kan de volgende VBA-code u helpen om deze taak te voltooien.

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: maak een map als deze niet bestaat in een bestandspad:

Sub MakeMyFolder()
'Updateby Extendoffice
    Dim fdObj As Object
    Application.ScreenUpdating = False
    Set fdObj = CreateObject("Scripting.FileSystemObject")
    If fdObj.FolderExists("C:\Users\DT168\Desktop\Test folder") Then
        MsgBox "Found it.", vbInformation, "Kutools for Excel"
    Else
        fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
        MsgBox "It has been created.", vbInformation, "Kutools for Excel"
    End If
    Application.ScreenUpdating = True
End Sub

Opmerking:: In de bovenstaande code moet u het mappad en de naam wijzigen C: \ Users \ DT168 \ Desktop \ Testmap aan uw nodig.

3. Na het plakken van de code, en druk op F5 sleutel om het uit te voeren:

(1.) Als de map bestaat, verschijnt er een promptvenster zoals in de volgende schermafbeelding:

doc map bestaat 2

(2.) Als de map niet bestaat, wordt deze in één keer onder het specifieke pad gemaakt en verschijnt er een promptvenster om u eraan te herinneren dat de map is gemaakt, zie screenshot:

doc map bestaat 3


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken!
officetab onderkant
Comments (11)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Het geeft een fout weer @ fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
Deze opmerking is gemaakt door de moderator op de site
Hallo, Alok,
De bovenstaande codes werken goed in mijn Excel-werkmap, het pad "C:\Users\DT168\Desktop\Test map" is mijn computerpad, u moet het pad naar uw eigen map wijzigen.
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Geweldig artikel. Precies wat ik zocht :)
Deze opmerking is gemaakt door de moderator op de site
Dit is echt handig! Met dank!
Deze opmerking is gemaakt door de moderator op de site
Bedankt Man, werk geweldig
Deze opmerking is gemaakt door de moderator op de site
Super bedankt!
Deze opmerking is gemaakt door de moderator op de site
Ik voer deze macro uit, maar in de stap om de map te maken, wordt het proces afgebroken.

kunt u mij helpen????


'Comprobar si la tapijta existe'

Dim ruta As String
Dim libro As String

M = ActiveWorkbook.Naam

ruta = Application.Workbooks(M).Sheets("Diccionario").Range("B5").Waarde

Als Rechts(ruta, 1) <> "\" Dan
ruta = ruta & "\"
End If
Als Dir(ruta, vbDirectory) <> vbNullString Dan
MsgBox "Map bestaat, ga verder"
Anders
MsgBox "Map bestaat niet"
End If

'Crea la carpeta que necesitas'

Dim fdObj als object
Dim map As String

map = Application.Workbooks(M).Sheets("Dicionario").Range("B5").Waarde (hier valt het proces)

Application.ScreenUpdating = False
Stel fdObj = CreateObject ("Scripting.FileSystemObject") in
Als fdObj.FolderExists(map) Dan
MsgBox "Gevonden, ga verder."
Anders
fdObj.CreateFolder (map)
MsgBox "Het is aangemaakt."
End If
Application.ScreenUpdating = True
Deze opmerking is gemaakt door de moderator op de site
Hallo, dit werkt prima, zou er een kans zijn dat de mapnaam die wordt gebruikt bij het controleren of een map al bestaat, is afgeleid van een cel in de spreadsheet, bijvoorbeeld A2??

Ik gebruik een sjabloonspreadsheet die automatisch wordt bijgewerkt vanuit een andere bron, dus cel A2 verandert voortdurend, waardoor nieuwe mappen met dezelfde naam moeten worden gemaakt.

Zou er ook zo'n opdracht kunnen zijn die het bovenstaande doet, maar ook de actieve spreadsheet opslaat in de gevonden / gemaakte map?

Enige hoop? TIA
Deze opmerking is gemaakt door de moderator op de site
excelente, me sirvió mucho el Objeto. Gebruikt voor tapijten como archivos. Muchas gracias
Deze opmerking is gemaakt door de moderator op de site
Hoe een map op het bureaublad te maken met vba wanneer het Excel-boek wordt geopend, indien aanwezig, negeer.
Bericht als een nieuwe map wordt gemaakt, stil als de map bestaat.


Private Sub Workbook_Open ()

Dim cob als variant
Dim FolderName As String, FolderExists As String
FolderName = "C:\Users\AAAAA\Desktop\A New Folder" '----> Wijzig de mapnaam naar wens. Wijzig de AAAAA naar uw vereiste.
FolderExists = Dir(Mapnaam, vbDirectory)

Application.ScreenUpdating = False

Als FolderExists = vbNullString Dan
MsgBox "De bureaubladmap bestaat niet. Maak nu een nieuwe map.", vbExclamation, "INFORMATIE"
cOb = CreateObject("wscript.shell").specialfolders("Desktop") & "\" & "Een nieuwe map" '--->Wijzig de mapnaam naar wens.
MkDir cob
Anders: Sub afsluiten
End If

Application.ScreenUpdating = True

End Sub

Deze opmerking is gemaakt door de moderator op de site
Hoe een map op het bureaublad te maken met vba wanneer het Excel-boek wordt geopend, indien aanwezig, negeer.
Bericht als een nieuwe map wordt gemaakt, stil als de map bestaat.

Private Sub Workbook_Open ()

Dim cob als variant
Dim FolderName As String, FolderExists As String
FolderName = "C:\Users\" & Environ("gebruikersnaam") & "\Desktop\Mijn map\" '---> Wijzig de mapnaam naar wens.
FolderExists = Dir(Mapnaam, vbDirectory)

Application.ScreenUpdating = False

Als FolderExists = vbNullString Dan
MsgBox "De bureaubladmap bestaat niet. Maak nu een nieuwe map.", vbExclamation, "INFORMATIE"
cOb = CreateObject("wscript.shell").specialfolders("Desktop") & "\" & "Mijn map" '---> Wijzig de mapnaam naar wens.
MkDir cob
Anders: Sub afsluiten
End If

Application.ScreenUpdating = True

End Sub
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0  Personages
Voorgestelde locaties