Mapper un lecteur réseau (connexion et déconnexion)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 167 fois - Téléchargée 41 fois

Contenu du snippet

En cherchant à mapper des lecteurs Réseaux sur mon serveur jai utilisé la bonne vieille commande Net USE. Donc je vous mets les 2 fonctions que jai développé dans ce cadre.

Source / Exemple :


Public Function attendre(intervalle As String, indice As Integer) As Integer
    Valeur = Time
    tmp = DateAdd(intervalle, indice, Valeur)
    Do While Time < tmp
   
    Loop
End Function

Private Function connectServ(serv As string, Share AS string, Lettre AS string, Pass AS string, usr AS string )
    Dim LigneCommande  As String, val, retour As Integer
 
   LigneCommande = "NET USE " & serv & ": \\" & Share & "\" & Lettre & " " & Pass & " /USER:" & usr & " /PERSISTENT:NO"
    retour = Shell(LigneCommande, vbNormalFocus)
    val = attendre("s", 5)
End Function

Private Function DisconnectServ(Lettre AS string)
    Dim LigneCommande As String, val, retour As Integer
    LigneCommande = "NET USE " & Lettre & ": /DELETE"
    retour = Shell(LigneCommande, vbNormalFocus)
    val = attendre("s", 5)
End Function

Conclusion :


C'est un petit truc en cas de besoin

Romelard Fabrice (Alias F___)

A voir également

Ajouter un commentaire

Commentaires

cs_JLN
Messages postés
373
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
17 juin 2013

cracken3544
Etant donnée la date du post (6 ans), j'espère que DEMNAT avait sa solution depuis ;)
cracken3544
Messages postés
11
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
2 juillet 2011

salut : Concernant ton message :

-------Citation :----------
Je lance un SOS sur le même sujet.
J'ai un programme VBA qui écrit sur un lecteur réseau. Avant d'ecrire il me faudra trouver le lecteur logique pour faire ChDrive "x" où 'x' correspond à celui de NET USE x: \\srv...
Je cherche la commande qui me donnera le "x" du lecteur réseau à partir de "\\srv..."
Merci d'avance.
---------Fin Citation ----------

si tu veut continuer a utiliser net use pour récupérer la lettre du lecteur pourquoi pas :

Dim mountedletters as string = shell("net use | findstr :")
dim letters = split(mountedletters," ")
for each a in letters(2)
Msgbox(a)
end for


Attention j'est pas tester le code il sera surement a modifier mais tu peut t'en inspiré ;)
cs_scoubigee
Messages postés
60
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
16 mai 2007

Personnellement je procède différemment, je n'aime pas trop utiliser la commande net use, de par le fait qu'il faille "attendre" l'exécution de la commande, ce qui n'est pas terrible dans un développement !
Juste a titre d'info je met le lien d'une source que j'ai posté permettant de connecter/déconnecter un disque et d'en récupérer les erreurs!

http://www.vbfrance.com/code.aspx?ID=40622
cs_Demnat
Messages postés
3
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
14 septembre 2006

Je lance un SOS sur le même sujet.
J'ai un programme VBA qui écrit sur un lecteur réseau. Avant d'ecrire il me faudra trouver le lecteur logique pour faire ChDrive "x" où 'x' correspond à celui de NET USE x: \\srv...
Je cherche la commande qui me donnera le "x" du lecteur réseau à partir de "\\srv..."
Merci d'avance.
codea
Messages postés
94
Date d'inscription
dimanche 9 mai 2004
Statut
Membre
Dernière intervention
6 août 2006

ALL API .NET :

Private Declare Function WNetAddConnection Lib "mpr.dll" Alias "WNetAddConnectionA" (ByVal lpszNetPath As String, ByVal lpszPassword As String, ByVal lpszLocalName As String) As Long
Private Declare Function WNetCancelConnection Lib "mpr.dll" Alias "WNetCancelConnectionA" (ByVal lpszName As String, ByVal bForce As Long) As Long
Const WN_SUCCESS = 0 ' The function was successful.
Const WN_NET_ERROR = 2 ' An error occurred on the network.
Const WN_BAD_PASSWORD = 6 ' The password was invalid.
Function AddConnection(MyShareName As String, MyPWD As String, UseLetter As String) As Integer
On Local Error GoTo AddConnection_Err
AddConnection = WNetAddConnection(MyShareName, MyPWD, UseLetter)
AddConnection_End:
Exit Function
AddConnection_Err:
AddConnection = Err
MsgBox Error$
Resume AddConnection_End
End Function
Function CancelConnection(DriveLetter As String, Force As Integer) As Integer
On Local Error GoTo CancelConnection_Err
CancelConnection = WNetCancelConnection(DriveLetter, Force)
CancelConnection_End:
Exit Function
CancelConnection_Err:
CancelConnection = Err
MsgBox Error$
Resume CancelConnection_End
End Function
Private Sub Form_Load()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net

'to add a connection call by:
variable = AddConnection(<SharePath>, , <DriveLetter>)
'To cancel a connection type:
varible = CancelConnection(<SharePath, <Force>)
End Sub
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.