begin process at 2012 02 13 03:01:32
  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 :2 178

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) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

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 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,686 sec (3)

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