Mettre en lecture seul dossier et fichier

Résolu
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005
- 20 janv. 2005 à 16:13
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
- 20 janv. 2005 à 21:07
Bonjour je pense ne pas avoir mi mon autre message au bonne endroit
alors je vais le mettre ici puisque je suis pas mal désespéré :p



étant un débutant en programmation jarrive pas a trouvé comment faire
pour mettre un dossier et ses fichier/sous dossier en lecture
seule,



j'offre ma gratitude éternel a celui qui arrivera a me sortir du pétrin :p



merci d'avance

sylbar

13 réponses

Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 janv. 2005 à 20:07
il doit y avoir des dossiers avec attribut caché ou systéme ???

Private Sub SetAttributs(dossier As String)
Dim i As Integer
Dim nb As Integer
Dim Table() As String
Dim fichier As String

nb = 1
ReDim Table(1)
Table(1) = dossier


While i < nb
i = i + 1
dossier = Table(i)
If Left$(dossier, 1) <> "" Then dossier = dossier & ""
fichier = Dir(dossier & "*.*", vbDirectory Or vbHidden Or vbSystem)
Do Until fichier = ""
If Asc(fichier) <> 46 Then
If (GetAttr(dossier & fichier) And &H10) = vbDirectory Then
nb = nb + 1
ReDim Preserve Table(nb)
Table(nb) = dossier & fichier
Else
SetAttr dossier & fichier, vbReadOnly
End If
End If
fichier = Dir()
Loop
Wend

End Sub


Private Sub Form_Load()
SetAttributs Command$
End Sub

Daniel
3
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 janv. 2005 à 20:56
ça doit être à cause de la ligne SetAttributs Command$
c'est ce qui récupère le paramètre passé au programme mais au départ Command$ est vide et j'ai pas mis de routine d'erreur.
enlève le et lance la procédure avec un bouton:

Private Sub Command1_Click()
SetAttributs "C:\formulaire"
End Sub

Daniel
3
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 janv. 2005 à 16:24
SetAttr chemin, vbReadOnly

Daniel
1
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 janv. 2005 à 19:40
exact, tu apelles la fonction par:
SetAttributs "c:\test "

Daniel
1

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

Posez votre question
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005

20 janv. 2005 à 17:04
oki mais le problème c'est qu'il ne mettra que "chemin" en lecture
seule et moi je dois aussi mettre tout ce qu'il contien en lecture
seule ( dossier sous dossier ficher etc)
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 janv. 2005 à 18:53
Private Sub SetAttributs(dossier As String)
Dim i As Integer
Dim nb As Integer
Dim Table() As String
Dim fichier As String

nb = 1
ReDim Preserve Table(1)
Table(1) = dossier

While i < nb
i = i + 1
dossier = Table(i)
If Left$(dossier, 1) <> "" Then dossier = dossier & ""
fichier = Dir(dossier & "*.*", vbDirectory)
Do Until fichier = ""
If Asc(fichier) <> 46 Then
If GetAttr(dossier & fichier) = vbDirectory Then
nb = nb + 1
ReDim Preserve Table(nb)
Table(nb) = dossier & fichier
Else
SetAttr dossier & fichier, vbReadOnly
End If
End If
fichier = Dir()
Loop
Wend

End Sub

Daniel
0
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005

20 janv. 2005 à 19:29
oki je remplace Dossier par c:\test je suppose
0
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005

20 janv. 2005 à 19:40
non en faite je passe le chemin en paramèrtre dans mon programme

SetAttributs ("c:\Formulaire")

il rentre dans la fonctions mais les fichers et tout sont toujours pas en lecture seule :-/
0
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005

20 janv. 2005 à 19:46
en fesant du pas a pas jai remarqué qu'il n'allais pas plus loin que la premiere couche

c:\formulaire\..... meme si il reste de dossier ensuite il ne se rend pas a l'intérieure de ceux ci
0
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005

20 janv. 2005 à 20:46
non c'est simplement des dossier contenant des fichier excel rien de système ou de fichier caché
0
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005

20 janv. 2005 à 20:47
avec le nouveau code ya une erreur a cette ligne

If (GetAttr(dossier & fichier) And &H10) = vbDirectory



invalide provedure call or argument
0
sylbar84
Messages postés
14
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
20 décembre 2005

20 janv. 2005 à 21:05
voila sa marche nickel

*s'incline a ses pieds* un grand merci a toi :)
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 janv. 2005 à 21:07
n'oublie pas de cocher réponse acceptée et va voir dans ta boîte.

Daniel
0