Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1452 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBS] Recherche dossiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBS] Recherche dossiers

n°2067827
fmplaw
Posté le 04-04-2011 à 10:34:30  profilanswer
 

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 :)

mood
Publicité
Posté le 04-04-2011 à 10:34:30  profilanswer
 

n°2067842
kiki29
Posté le 04-04-2011 à 11:17:47  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBS] Recherche dossiers

 

Sujets relatifs
Recherche developpeurs PHP5Overblog - Intégrer une recherche dans un fichier hébergé
regrouper fichiers contenus dans dossiers enfants vers dossier parent[VBS] Excel
Moteur de recherche perso en PHP : soucis avec des accents.moteur de recherche
Algorythme de recherche google-likeRecherche 2 mots FINDSTR
ldap recherche dans les répertoiresFonction recherche d'une ligne
Plus de sujets relatifs à : [VBS] Recherche dossiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR