begin process at 2010 02 10 12:42:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > CRÉATION D'UN ARBORESSANCE

CRÉATION D'UN ARBORESSANCE


 Information sur la source

Note :
Aucune note
Catégorie :Fichier / Disque Niveau :Débutant Date de création :27/11/2002 Date de mise à jour :27/11/2002 15:51:39 Vu :1 829

Auteur : FaciCAD

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Comme le titre l'indique ce petit module va vous permettre de créer un dossier sans être oubliger de créer les dossiers inexistant avant le votre.

Source

  • Option Explicit
  • Public Function Verification_Chemin(strChemin As String) As Boolean
  • Verification_Chemin = False
  • If Trim(Dir(strChemin, vbDirectory)) <> "" Then
  • Verification_Chemin = True
  • End If
  • End Function
  • Public Sub Creation_Dossier(strChemin As String)
  • Dim CheminPartiel As String
  • Dim nbCarDebut As Integer
  • Dim nbCar As Integer
  • nbCarDebut = 4
  • Retour1:
  • nbCar = InStr(nbCarDebut, strChemin, "\")
  • If nbCar <> 0 Then
  • CheminPartiel = Left(strChemin, nbCar - 1)
  • If Verification_Chemin(CheminPartiel) = False Then
  • MkDir CheminPartiel
  • nbCarDebut = nbCar + 1
  • GoTo Retour1
  • Else
  • nbCarDebut = nbCar + 1
  • GoTo Retour1
  • End If
  • Else
  • MkDir strChemin
  • End If
  • End Sub
Option Explicit

Public Function Verification_Chemin(strChemin As String) As Boolean

    Verification_Chemin = False
    
    If Trim(Dir(strChemin, vbDirectory)) <> "" Then
        Verification_Chemin = True
    End If
    
End Function

Public Sub Creation_Dossier(strChemin As String)

    Dim CheminPartiel As String
    Dim nbCarDebut As Integer
    Dim nbCar As Integer
    
    nbCarDebut = 4
Retour1:
    nbCar = InStr(nbCarDebut, strChemin, "\")
    If nbCar <> 0 Then
        CheminPartiel = Left(strChemin, nbCar - 1)
        If Verification_Chemin(CheminPartiel) = False Then
            MkDir CheminPartiel
            nbCarDebut = nbCar + 1
            GoTo Retour1
            Else
            nbCarDebut = nbCar + 1
            GoTo Retour1
        End If
        Else
        MkDir strChemin
    End If
    
End Sub



 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GESTION DE PARC AUTOMOBILE AVEC SÉRIALISATION par guyr07
Source avec Zip Source avec une capture Source .NET (Dotnet) FICHIERS_CACHÉS_LECTURE_SEULE par Le Pivert
Source avec Zip Source avec une capture CHANGEUR D'ICONES par djgab21
Source .NET (Dotnet) DIRECTDISKACCESS par XelectroX
Source avec Zip Source avec une capture UTILITAIRE WAV, MID ET MP3 par SnkVrt

Commentaires et avis

Commentaire de sub-zero le 27/11/2002 17:05:31

oui ms l'optimisation c pas ca!
*Verification_Chemin=Trim$(Dir$(strChemin, vbDirectory)&lt;&gt;vbnullstring pour ta première fonction
*supprime les goto ds la 2nde et fait une boucle

voila @+

Commentaire de zefri le 27/11/2002 20:54:09

Référence plutôt Microsoft Scripting Runtime dans ton projet, et puis alors le code se simplifie de façon étonnante :

Private Sub Check_Directory(Path As String)
On Error GoTo Error
Dim oFso As New FileSystemObject
Dim vItem As Variant
Dim FullPath As String

    If Not oFso.FolderExists(Path) Then
        For Each vItem In Split(Path, "")
            FullPath = Replace(FullPath & vItem & "", "\", "")
            If Not oFso.FolderExists(FullPath) Then
                oFso.CreateFolder FullPath
            End If
        Next
    End If

Exit Sub

Error:
    MsgBox Err.Description
End Sub

Commentaire de zefri le 27/11/2002 20:56:02

Oups !
Au lieu de Split(Path, "") il faut lire Split(Path, ""), évidemment...

Commentaire de zefri le 27/11/2002 21:01:50

Bon, ben ça doit être un bug d'affichage, les backslash disparaissent...
Donc là où on voit un backslash il faut en voire deux, et quand on voit juste "" c'est qu'il y a un backslash entre guillemets.
Milles excuse, je connaissais pas ce bug.
En tout cas le code fonctionne un fois remis les backslash à leur place, je l'ai testé !

Commentaire de FaciCAD le 28/11/2002 22:52:22

Merci pour c'est info, c'est très apprécié.

Commentaire de jmc70 le 12/01/2006 19:42:37

Le code de Zefri fonctionne bien si le chemin commence par une lettre de lecteur mais ce n'est pas le cas pour un chemin unicode du genre "\\Edmini\Share\" (disque dur distant par exemple - bon, je sais, on peut se connecter auparavant à un lecteur réseau pour déclarer une lettre de volume, mais j'aimerais faire sans)
Si quelqu'un a une solution...

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales