Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - création d'un répertoire en mode réseau partagé

11 réponses
Avatar
twinley
Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

J@c m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:\zaza.txt").Attributes = 1

Merci pour votre aide

twinley

10 réponses

1 2
Avatar
Michel Pierron
Bonsoir twinley;
Pour les propriétés, je ne sais pas mais pour partager le répertoire, peut
être ainsi:

Const NewDir As String = "C:LeTest"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
With GetObject("winmgmts:{impersonationLevel=impersonate}!" _
& ".rootcimv2").Get("Win32_Share")
.Create NewDir, "My Test", 0, 25, "Public share for test."
End With

MP

"twinley" a écrit dans le message de
news:%

Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley


Avatar
twinley
Bonsoir Michel

Je ne risquais pas de trouver, j'étais à mille lieues.
Tu m'a bien avancé. Bravo.

Mkdir dans XP du D4600 et accès depuis WinMe.

Quand je lance la sub, le dir est créé dans XP sans main dessous et je
le vois dans les favoris réseau de WinMe après un F5 bien sur.
Mais si je clic sur le favori réseau My test côté WinMe il dit :
D4600My Test n'est pas accessible Accès refusé.

La je repasse du côté XP je clic droit partagé sur l'icône LeTest, je
décoche manuellement partagé et je recoche partagé et là, la main de
l'icône apparaît
et depuis WinMe j'ai accès au nouveau rep LeTest.

J'y suis presque... Où puis je trouver la doc des commandes que tu m'as
envoyé ?

Mille merci déjà, un par lieue qui mon rapprochée.

à+twinley


Michel Pierron wrote:
Bonsoir twinley;
Pour les propriétés, je ne sais pas mais pour partager le répertoire, peut
être ainsi:

Const NewDir As String = "C:LeTest"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
With GetObject("winmgmts:{impersonationLevel=impersonate}!" _
& ".rootcimv2").Get("Win32_Share")
.Create NewDir, "My Test", 0, 25, "Public share for test."
End With

MP

"twinley" a écrit dans le message de
news:%

Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley






Avatar
twinley
Bon je viens de trouver la doc. Maintenant dodo, on verra plus tard.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_share.asp

twinley

twinley wrote:
Bonsoir Michel

Je ne risquais pas de trouver, j'étais à mille lieues.
Tu m'a bien avancé. Bravo.

Mkdir dans XP du D4600 et accès depuis WinMe.

Quand je lance la sub, le dir est créé dans XP sans main dessous et je
le vois dans les favoris réseau de WinMe après un F5 bien sur.
Mais si je clic sur le favori réseau My test côté WinMe il dit :
D4600My Test n'est pas accessible Accès refusé.

La je repasse du côté XP je clic droit partagé sur l'icône LeTest, je
décoche manuellement partagé et je recoche partagé et là, la main de
l'icône apparaît
et depuis WinMe j'ai accès au nouveau rep LeTest.

J'y suis presque... Où puis je trouver la doc des commandes que tu m'as
envoyé ?

Mille merci déjà, un par lieue qui mon rapprochée.

à+twinley


Michel Pierron wrote:

Bonsoir twinley;
Pour les propriétés, je ne sais pas mais pour partager le répertoire,
peut
être ainsi:

Const NewDir As String = "C:LeTest"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
With GetObject("winmgmts:{impersonationLevel=impersonate}!" _
& ".rootcimv2").Get("Win32_Share")
.Create NewDir, "My Test", 0, 25, "Public share for test."
End With

MP

"twinley" a écrit dans le message de
news:%

Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley









Avatar
Michel Pierron
Bonsoir twinley;
A force d'utiliser Windows, on oublie l'essentiel des bonnes vielles
commandes du DOS:
(c:windowssystem32net.exe pour un OS type NT et c:windowssystemnet.exe
pour les autres)

Sub ShareDir()
Const NewDir As String = "c:MonTest"
Const ShareName As String = "Public"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
Shell "c:windowssystem32net.exe share " _
& ShareName & "=" & NewDir, vbMinimizedNoFocus
End Sub

MP

"twinley" a écrit dans le message de
news:%

Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley


Avatar
twinley
Bonsoir Michel,

Merci pour l'envoi de ces solutions.

La méthode Dos, donne bien l'icône avec la mai. En progrès sur l'autre
variante.

Mais j'ai toujours le même message err accès refusé, du coté de la
machine qui vient lire ce newdir dans le D4600.
Et même astuce, si je décoche partage et que je recoche (côté D4600, là
ou je crée le newdir), je lis le newdir depuis l'autre PC.

Mystère.

à+twinley

Michel Pierron wrote:
Bonsoir twinley;
A force d'utiliser Windows, on oublie l'essentiel des bonnes vielles
commandes du DOS:
(c:windowssystem32net.exe pour un OS type NT et c:windowssystemnet.exe
pour les autres)

Sub ShareDir()
Const NewDir As String = "c:MonTest"
Const ShareName As String = "Public"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
Shell "c:windowssystem32net.exe share " _
& ShareName & "=" & NewDir, vbMinimizedNoFocus
End Sub

MP

"twinley" a écrit dans le message de
news:%

Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley






Avatar
twinley
Re bonsoir,

Même avec un reboot des deux machines, le dir nouvellement créé qui a
des propriétés partagé et que l'on voit depuis l'autre machine dans les
favoris réseau, j'ai toujours l'accès refusé.
Dommage, c'est pas loin, mais y a un truc bloquant.

Aurais-tu par hasard, un script qui construit, supprime, les lecteurs
réseaux ?
J'ai cherché dans beaucoup d'endroits, mais sans succès.
Si je trouve ça, je pourrais contourner le Pb.. Enfin j'espère.

Bonne soirée

à+twinley


twinley wrote:

Bonsoir Michel,

Merci pour l'envoi de ces solutions.

La méthode Dos, donne bien l'icône avec la mai. En progrès sur l'autre
variante.

Mais j'ai toujours le même message err accès refusé, du coté de la
machine qui vient lire ce newdir dans le D4600.
Et même astuce, si je décoche partage et que je recoche (côté D4600, là
ou je crée le newdir), je lis le newdir depuis l'autre PC.

Mystère.

à+twinley

Michel Pierron wrote:

Bonsoir twinley;
A force d'utiliser Windows, on oublie l'essentiel des bonnes vielles
commandes du DOS:
(c:windowssystem32net.exe pour un OS type NT et
c:windowssystemnet.exe
pour les autres)

Sub ShareDir()
Const NewDir As String = "c:MonTest"
Const ShareName As String = "Public"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
Shell "c:windowssystem32net.exe share " _
& ShareName & "=" & NewDir, vbMinimizedNoFocus
End Sub

MP

"twinley" a écrit dans le message de
news:%

Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley









Avatar
Michel Pierron
Re twinley;
Si tu crées manuellement un réperoire partagé (disons C:MonTest par
exemple) et que tu exécute la macro suivante:
Sub AddShareDir()
Const NewDir As String = "c:MonTestNewDir"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
End Sub

Est-ce que tu as accès au répertoire NewDir créé dans le répertoire partagé
C:MonTest ?
MP

"twinley" a écrit dans le message de
news:%

Bonsoir Michel,

Merci pour l'envoi de ces solutions.

La méthode Dos, donne bien l'icône avec la mai. En progrès sur l'autre
variante.

Mais j'ai toujours le même message err accès refusé, du coté de la
machine qui vient lire ce newdir dans le D4600.
Et même astuce, si je décoche partage et que je recoche (côté D4600, là
ou je crée le newdir), je lis le newdir depuis l'autre PC.

Mystère.

à+twinley

Michel Pierron wrote:
Bonsoir twinley;
A force d'utiliser Windows, on oublie l'essentiel des bonnes vielles
commandes du DOS:
(c:windowssystem32net.exe pour un OS type NT et
c:windowssystemnet.exe


pour les autres)

Sub ShareDir()
Const NewDir As String = "c:MonTest"
Const ShareName As String = "Public"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
Shell "c:windowssystem32net.exe share " _
& ShareName & "=" & NewDir, vbMinimizedNoFocus
End Sub

MP

"twinley" a écrit dans le message de
news:%

Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley








Avatar
twinley
.../...

correct, j'ai accès à NewDir.

C'est déjà une procédure qui fonctionne pour créer un sous rep dans un
rep partagé.
Il faudrait alors partager tout le disque C: pour créer un rep partagé
puis départager le disque C: ?

Merci pour l'avancée

à+twinley


Michel Pierron wrote:
Re twinley;
Si tu crées manuellement un réperoire partagé (disons C:MonTest par
exemple) et que tu exécute la macro suivante:
Sub AddShareDir()
Const NewDir As String = "c:MonTestNewDir"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
End Sub

Est-ce que tu as accès au répertoire NewDir créé dans le répertoire partagé
C:MonTest ?
MP

"twinley" a écrit dans le message de
news:%

Bonsoir Michel,

Merci pour l'envoi de ces solutions.

La méthode Dos, donne bien l'icône avec la mai. En progrès sur l'autre
variante.

Mais j'ai toujours le même message err accès refusé, du coté de la
machine qui vient lire ce newdir dans le D4600.
Et même astuce, si je décoche partage et que je recoche (côté D4600, là
ou je crée le newdir), je lis le newdir depuis l'autre PC.

Mystère.

à+twinley

Michel Pierron wrote:

Bonsoir twinley;
A force d'utiliser Windows, on oublie l'essentiel des bonnes vielles
commandes du DOS:
(c:windowssystem32net.exe pour un OS type NT et



c:windowssystemnet.exe

pour les autres)

Sub ShareDir()
Const NewDir As String = "c:MonTest"
Const ShareName As String = "Public"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
Shell "c:windowssystem32net.exe share " _
& ShareName & "=" & NewDir, vbMinimizedNoFocus
End Sub

MP

"twinley" a écrit dans le message de
news:%


Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley











Avatar
twinley
.../...

je confirme que si je partage C:

la sub win32_share et la sub macro donnent un bon résultat.
Depuis l'autre PC j'ai un accès au newdir.

L'inconvénient c'est qu'il faut un bon moment pour partager le disque C
(environ 1'30" à 2') et qu'il y a une encore question de sécurité pour
accepter le partage de C avec les risques que cela comporte.
Le départage de C est assez rapide 10".

De plus l'accès est refusé au C:Newdir dès que le partage de C: n'est
plus là.

à+twinley


twinley wrote:

.../...

correct, j'ai accès à NewDir.

C'est déjà une procédure qui fonctionne pour créer un sous rep dans un
rep partagé.
Il faudrait alors partager tout le disque C: pour créer un rep partagé
puis départager le disque C: ?

Merci pour l'avancée

à+twinley


Michel Pierron wrote:

Re twinley;
Si tu crées manuellement un réperoire partagé (disons C:MonTest par
exemple) et que tu exécute la macro suivante:
Sub AddShareDir()
Const NewDir As String = "c:MonTestNewDir"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
End Sub

Est-ce que tu as accès au répertoire NewDir créé dans le répertoire
partagé
C:MonTest ?
MP

"twinley" a écrit dans le message de
news:%

Bonsoir Michel,

Merci pour l'envoi de ces solutions.

La méthode Dos, donne bien l'icône avec la mai. En progrès sur l'autre
variante.

Mais j'ai toujours le même message err accès refusé, du coté de la
machine qui vient lire ce newdir dans le D4600.
Et même astuce, si je décoche partage et que je recoche (côté D4600, là
ou je crée le newdir), je lis le newdir depuis l'autre PC.

Mystère.

à+twinley

Michel Pierron wrote:

Bonsoir twinley;
A force d'utiliser Windows, on oublie l'essentiel des bonnes vielles
commandes du DOS:
(c:windowssystem32net.exe pour un OS type NT et




c:windowssystemnet.exe

pour les autres)

Sub ShareDir()
Const NewDir As String = "c:MonTest"
Const ShareName As String = "Public"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
Shell "c:windowssystem32net.exe share " _
& ShareName & "=" & NewDir, vbMinimizedNoFocus
End Sub

MP

"twinley" a écrit dans le message de
news:%


Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en
local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve
pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley














Avatar
Michel Pierron
Re twinley;
Dis moi, c'est un mini réseau privé ou quelque chose de plus conséquent ?
Si tu peux partages C en utilisant C$ comme nom de partage pour qu'il ne
soit pas vu par les autres; as-tu encore accès au répertoire partagé créé
avec Win32_Share ou Shell Net ? Sinon, en quoi cela te gêne d'avoir
l'obligation de créer préalablement un répertoire partagé et d'y inclure la
création d'un nouveau répertoire par macro ? XPHome est connu pour des
problèmes de ce genre lors de connexion réseau et si c'est ta version pour
xp, il n'y a pas grand chose à faire sinon opter pour une version Pro avec
bien sur un coût de licence non négligeable.

MP

"twinley" a écrit dans le message de
news:
.../...

je confirme que si je partage C:

la sub win32_share et la sub macro donnent un bon résultat.
Depuis l'autre PC j'ai un accès au newdir.

L'inconvénient c'est qu'il faut un bon moment pour partager le disque C
(environ 1'30" à 2') et qu'il y a une encore question de sécurité pour
accepter le partage de C avec les risques que cela comporte.
Le départage de C est assez rapide 10".

De plus l'accès est refusé au C:Newdir dès que le partage de C: n'est
plus là.

à+twinley


twinley wrote:

.../...

correct, j'ai accès à NewDir.

C'est déjà une procédure qui fonctionne pour créer un sous rep dans un
rep partagé.
Il faudrait alors partager tout le disque C: pour créer un rep partagé
puis départager le disque C: ?

Merci pour l'avancée

à+twinley


Michel Pierron wrote:

Re twinley;
Si tu crées manuellement un réperoire partagé (disons C:MonTest par
exemple) et que tu exécute la macro suivante:
Sub AddShareDir()
Const NewDir As String = "c:MonTestNewDir"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
End Sub

Est-ce que tu as accès au répertoire NewDir créé dans le répertoire
partagé
C:MonTest ?
MP

"twinley" a écrit dans le message de
news:%

Bonsoir Michel,

Merci pour l'envoi de ces solutions.

La méthode Dos, donne bien l'icône avec la mai. En progrès sur l'autre
variante.

Mais j'ai toujours le même message err accès refusé, du coté de la
machine qui vient lire ce newdir dans le D4600.
Et même astuce, si je décoche partage et que je recoche (côté D4600,





ou je crée le newdir), je lis le newdir depuis l'autre PC.

Mystère.

à+twinley

Michel Pierron wrote:

Bonsoir twinley;
A force d'utiliser Windows, on oublie l'essentiel des bonnes vielles
commandes du DOS:
(c:windowssystem32net.exe pour un OS type NT et




c:windowssystemnet.exe

pour les autres)

Sub ShareDir()
Const NewDir As String = "c:MonTest"
Const ShareName As String = "Public"
If Dir(NewDir, vbDirectory) = "" Then MkDir NewDir
Shell "c:windowssystem32net.exe share " _
& ShareName & "=" & NewDir, vbMinimizedNoFocus
End Sub

MP

"twinley" a écrit dans le message de
news:%


Bonjour à tous,

J'ai déjà posé cette question dans le corps d'un fil.
Je n'ai pas encore trouvé. Alors une aide serait la bienvenue.

Est-il possible lors de la création d'un nouveau répertoire en
local, de
lui attribuer pour le réseau les deux propriétés suivantes :

une propriété Partagé en Lecture seule

soit lui attribuer

une propriété Partagé en Accès complet ?

Dit d'une autre façon de faire apparaître la main du partage sous
l'icône du nouveau répertoire.

Et enlever ce partage.

m'a mis sur une piste similaire pour les fic, mais je ne trouve
pas.

Set fs = CreateObject("Scripting.FileSystemObject")
fs.getfile("c:zaza.txt").Attributes = 1

Merci pour votre aide

twinley
















1 2