[VBS] Recherche dossiers

Recherche dossiers [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 04-04-2011 à 10:34:30    

Bonjour,
 
je suis novice en VBS et en développement en général donc excusez moi si certains de mes propos vous interloquent ;)
 
J'ai crée un script qui permet à un utilisateur de définir un numéro d'affaire (composé de : numéro commune ex: "22G980 PLERIN" ) et si celui-ci n'existe pas de le créer vers un chemin particulier avec une arborescence prédéfini.
 
Cela marche sans problème, cependant lors de la vérification de l’existence ou non du répertoire d'affaire j'ai un doute. A l'heure actuelle j'utilise ceci :
 
>>>
Dim chem_aff              
 
chem_aff=chem_cli+affaire+"\"            'K:\num_client\+num commune
 
If FSO.FolderExists(chem_aff) Then
 msg = "L'affaire""" & affaire & """ existe déjà !"
 ret = MsgBox (msg, vbCritical, "Erreur" )
 Wscript.quit
End If
<<<
 
Cependant la méthode FolderExists testent si la chaine de caractères corresponds exactement à la présence du répertoire et renvoi vrai ou faux. J'aurais souhaité faire une recherche sur la partie numérique de l'affaire, dans le cas ou un utilisateur se tromperait sur la partie commune. Pour cela j'utilise la méthode Run :
 
>>>
Set oShell = WScript.CreateObject ("WSCript.shell" )
oShell.run "cmd /K dir " & chem_numaff & "*"  'chem_numaff = K:\num_client\num
<<<  
 
De cette manière je fais une recherche globale sur la partie numérique sans me soucier de la commune. Comment exploiter le résultat de cette commande ?
 
Merci d'avance, en espérant que ma demande soit claire :)

Reply

Marsh Posté le 04-04-2011 à 10:34:30   

Reply

Marsh Posté le 04-04-2011 à 11:17:47    

Salut,en VBA pour la création d'un dossier,à adapter  


Option Explicit
Dim Rep As Long
 
Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
                                             (ByVal hwnd As Long, ByVal pszPath As String, ByVal lngsec As Long) As Long
 
' Pour valeur retournée dans Rep
'   Voir http://msdn.microsoft.com/en-us/library/bb762131(VS.85).aspx
'   et   http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx
Private Sub CreationDossier(sDossier As String)
    Rep = SHCreateDirectoryEx(0&, sDossier, 0& )
End Sub
 
Sub Tst()
Dim sDossier As String
    sDossier = "C:\Essai1\Essai2\Essai3\Essai4\Essai5"
    CreationDossier sDossier
    Debug.Print Rep
End Sub


 
Rep te retourne par exemple 0 ERROR_SUCCESS "The operation completed successfully" si tout s'est bien déroulé
183 ERROR_ALREADY_EXISTS "Cannot create a file when that file already exists" etc, voir les liens sur Microsoft
 
Sinon voir sur http://vb.developpez.com/faqvbs/?page=II.2.3
et NEWFOLDER sur http://www.bellamyjc.org/fr/vbsdownload.html


Message édité par kiki29 le 04-04-2011 à 13:33:35
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed