Ouvrir un repertoire reseau protege par mot de passe

Résolu
cs_nakano Messages postés 2 Date d'inscription lundi 1 juillet 2002 Statut Membre Dernière intervention 20 mars 2006 - 17 mars 2006 à 12:07
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 - 20 mars 2006 à 13:57
Bonjour tout le monde,

J'ai automatise la recuperation de fichiers dans un repertoire reseau.

Le probleme, c'est qu'a la premiere execution, je dois d'abord ouvrir ce repertoire via l'explorateur pour lui passer mon mot de passe.

Y a t il un moyen de lui passer le mot de passe directement dans du code ?

Merci,
naka

5 réponses

Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
17 mars 2006 à 16:01
Pour la deconnexion

result = Net_Disconnect("Z:", , True)
3
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
17 mars 2006 à 16:02
et comme ça il fait tout tout seul comme un grand
3
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
17 mars 2006 à 15:58
Si j'ai bien compris, tu commence par coller le code cidessous dans dans un module

Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As NETRESOURCE, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long
Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long


Type NETRESOURCE
dwScope As Long
dwType As Long
dwDisplayType As Long
dwUsage As Long
lpLocalName As String
lpRemoteName As String
lpComment As String
lpProvider As String
End Type


Const RESOURCETYPE_DISK = &H1
Const RESOURCE_PUBLICNET = &H2


Const CONNECT_REMEMBER_NONE = 0
Const CONNECT_UPDATE_PROFILE = &H1
Const RESOURCEDISPLAYTYPE_GENERIC = &H0
Const RESOURCEUSAGE_CONNECTABLE = &H1


Function Net_Connect(strLocalDrive, strRemotePath, strUserName, strPassword) As Long
Dim NetR As NETRESOURCE
NetR.dwScope = RESOURCE_PUBLICNET
NetR.dwType = RESOURCETYPE_DISK
NetR.dwDisplayType = RESOURCEDISPLAYTYPE_GENERIC
NetR.dwUsage = RESOURCEUSAGE_CONNECTABLE
NetR.lpLocalName = strLocalDrive
NetR.lpRemoteName = strRemotePath
NetR.lpComment = ""
Net_Connect = WNetAddConnection2(NetR, strPassword, strUserName, CONNECT_REMEMBER_NONE)
End Function
*********************************************************************
Function Net_Disconnect(strLocalDrive As String, dwRememberFlag As Long, bForced As Boolean) As Long
Net_Disconnect = WNetCancelConnection2(strLocalDrive, dwRememberFlag, bForced)
End Function

Voila ensuite pour la connexion proprement dite :
' Etablissement de la connection au lecteur réseau de la machine linux par exemple
result = Net_Connect("Z:", "[file://linux028/Monrep \\linux028\Monrep]", "UserName", "Password")
1
cs_nakano Messages postés 2 Date d'inscription lundi 1 juillet 2002 Statut Membre Dernière intervention 20 mars 2006
20 mars 2006 à 13:28
Merci Max !!!


C'est exactement ce que je cherchais. Ca fonctionne tres bien maintenant :


- ma macro va recuperer les fichiers sur le server


- les copies en local


- fais les maj sur le reseau et ferme la connexion reseau au repertoire....


Je viens de lui ajouter une fonction ontime et maintenant, ma macro fait tout ca, tous les jours, sans que j'ai quoi que ce soit a faire ...
J'adore mon job !!

nakano
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
20 mars 2006 à 13:57
De rien ce fut un plaisir
0
Rejoignez-nous