OVH Cloud OVH Cloud

MapNetWorkDrive dynamique : comment activer la connexion ?

2 réponses
Avatar
mouspi
Bonjour,

Dans une application développée en VBA, et exécutée sous Windows 2000
Server, je dois aller chercher des fichiers, qui sont stockés sur un serveur
(Unix)

Après avoir testé si la connexion n'était pas déjà activée (via
EnumNetworkDrive) , je me connecte par la séquence :
Dim strConnect As String
Dim WshNetwork

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive n_Drive, strConnect, True, u_UID, u_PWD
'
Par EnumNetworkDrive, je vérifie que la lettre n_Drive est bien associée
bien au serveur partagé.
(cette connexion apparait bien dans l'explorateur, et en cliquant je peux
bien voir les fichiers attendus)

Le problème :

Bien que la connexion semble correcte, en poursuivant le programme VBA, je
ne peux accéder aux fichiers, même après une longue boucle :

Set WshNetwork = Nothing
Set fsUnix = Application.FileSearch
With fsUnix
.NewSearch
.LookIn = r_OutUnix
.Filename = "*.*"
' boucle pour temporiser (phase de test)
nbfich = 0
For k = 1 To 1000
If .Execute() > 0 Then Exit For
Next k

nbfich = .FoundFiles.Count
Debug.Print k, nbfich
End With

Par contre, si je quitte VBA, sans me déconnecter du serveur, puis relance
le même programme en shuntant la phase de connexion (puisqu'elle existe
déjà) alors là je n'ai plus de soucis pour accéder à mes fichiers.

Quelqu'un saurait-il me dire comment activer cette connexion à la suite de
MapNetworkDrive ?

Merci et que cette année 2005 apporte le bonheur à tous ceux qui vous sont
chers, ... et même aux autres .

MOUSPI

2 réponses

Avatar
Prosper Youp La Boum \(SDI\)
Bonjour et meilleurs voeux,

et en essayant de décomposer
1) appel programme vba pour connexion
2) quitter le programme vba
3) lancer le reste du prog vba

A+

"mouspi" a écrit dans le message de
news:eF0$

Bonjour,

Dans une application développée en VBA, et exécutée sous Windows 2000
Server, je dois aller chercher des fichiers, qui sont stockés sur un
serveur

(Unix)

Après avoir testé si la connexion n'était pas déjà activée (via
EnumNetworkDrive) , je me connecte par la séquence :
Dim strConnect As String
Dim WshNetwork

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive n_Drive, strConnect, True, u_UID, u_PWD
'
Par EnumNetworkDrive, je vérifie que la lettre n_Drive est bien associée
bien au serveur partagé.
(cette connexion apparait bien dans l'explorateur, et en cliquant je peux
bien voir les fichiers attendus)

Le problème :

Bien que la connexion semble correcte, en poursuivant le programme VBA, je
ne peux accéder aux fichiers, même après une longue boucle :

Set WshNetwork = Nothing
Set fsUnix = Application.FileSearch
With fsUnix
.NewSearch
.LookIn = r_OutUnix
.Filename = "*.*"
' boucle pour temporiser (phase de test)
nbfich = 0
For k = 1 To 1000
If .Execute() > 0 Then Exit For
Next k

nbfich = .FoundFiles.Count
Debug.Print k, nbfich
End With

Par contre, si je quitte VBA, sans me déconnecter du serveur, puis relance
le même programme en shuntant la phase de connexion (puisqu'elle existe
déjà) alors là je n'ai plus de soucis pour accéder à mes fichiers.

Quelqu'un saurait-il me dire comment activer cette connexion à la suite de
MapNetworkDrive ?

Merci et que cette année 2005 apporte le bonheur à tous ceux qui vous sont
chers, ... et même aux autres .

MOUSPI




Avatar
mouspi
Merci Prosper,

Finalement, j'ai pu utiliser l'API WNetAddConnection2 qui permet de me
connecter, puis d'accéder aux fichiers dans la foulée !!!

Bonne Soirée

MOUSPI

"Prosper Youp La Boum (SDI)" <pascal_schnelzauer[NO SPAMM]@yahoo.fr> a écrit
dans le message de news: 41d686c6$0$31954$
Bonjour et meilleurs voeux,

et en essayant de décomposer
1) appel programme vba pour connexion
2) quitter le programme vba
3) lancer le reste du prog vba

A+

"mouspi" a écrit dans le message de
news:eF0$

Bonjour,

Dans une application développée en VBA, et exécutée sous Windows 2000
Server, je dois aller chercher des fichiers, qui sont stockés sur un
serveur

(Unix)

Après avoir testé si la connexion n'était pas déjà activée (via
EnumNetworkDrive) , je me connecte par la séquence :
Dim strConnect As String
Dim WshNetwork

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive n_Drive, strConnect, True, u_UID, u_PWD
'
Par EnumNetworkDrive, je vérifie que la lettre n_Drive est bien associée
bien au serveur partagé.
(cette connexion apparait bien dans l'explorateur, et en cliquant je
peux
bien voir les fichiers attendus)

Le problème :

Bien que la connexion semble correcte, en poursuivant le programme VBA,
je
ne peux accéder aux fichiers, même après une longue boucle :

Set WshNetwork = Nothing
Set fsUnix = Application.FileSearch
With fsUnix
.NewSearch
.LookIn = r_OutUnix
.Filename = "*.*"
' boucle pour temporiser (phase de test)
nbfich = 0
For k = 1 To 1000
If .Execute() > 0 Then Exit For
Next k

nbfich = .FoundFiles.Count
Debug.Print k, nbfich
End With

Par contre, si je quitte VBA, sans me déconnecter du serveur, puis
relance
le même programme en shuntant la phase de connexion (puisqu'elle existe
déjà) alors là je n'ai plus de soucis pour accéder à mes fichiers.

Quelqu'un saurait-il me dire comment activer cette connexion à la suite
de
MapNetworkDrive ?

Merci et que cette année 2005 apporte le bonheur à tous ceux qui vous
sont
chers, ... et même aux autres .

MOUSPI