Y-a-t-il une opération simple pour détecter qu'un folder connu est protégé
(interdit) en lecture pour l'utilisateur d'une macro. Dans ce cas :
Myfolder.Files (par exemple pour essayer d'obtenir la liste des fichiers
contenus dans le Folder Myfolder) plante sur erreur. Sans passer par le
contrôle d'erreur bien sur !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Cette procédure n'est valide que pour les répertoires de premier niveau. Elle ne s'applique pas à tous les sous-répertoires.
Salutations!
"michdenis" a écrit dans le message de news:e9% Bonjour 311,
Affiche seulement les répertoires en lecture seule. Adapter de l'exemple de l'aide de Vba de Excel. Tu peux faire une recherche sur Dir
Il ne te reste plus qu'à définir la variable MyPath de la procédure quant au chemin et répertoire que tu veux évaluer.
'------------------------------------- Sub AfficherRépertoireEnLectureSeule()
Dim MyPath As String, MyName As String Dim Fs As Object, F As Object Dim Répertoire As String
Set Fs = CreateObject("Scripting.FileSystemObject")
' Définit le chemin d'accès. MyPath = "c:toots" 'A définir
' Extrait la première entrée. MyName = Dir(MyPath, vbDirectory)
' Commence la boucle. Do While MyName <> "" ' Ignore le dossier courant et le dossier ' contenant le dossier courant. If MyName <> "." And MyName <> ".." Then ' Utilise une comparaison au niveau du bit pour ' vérifier que MyName est un dossier. If (GetAttr(MyPath & MyName) _ And vbDirectory) = vbDirectory Then
Set F = Fs.Getfolder(MyPath & MyName) Select Case F.Attributes Case 17, 49 Répertoire = Répertoire & MyPath & MyName & vbCrLf End Select End If End If ' Extrait l'entrée suivante. MyName = Dir Loop
'Si répertoire n'est pas vide, affichage dans un message box If Répertoire <> "" Then MsgBox "Les répertoires en lecture seule de : " & MyPath & vbCrLf _ & vbCrLf & Répertoire, vbInformation + vbOKOnly, "Liste" Else MsgBox "Aucun répertoire ayant l'attribut lecture seule." End If
End Sub '--------------------------------------
La provenance du chiffre 17 et 49 proviennet de ce tableau des constantes que tu peux retrouver dans l'aide vba excel. Ces propriétés s'additionnent. À toi de déterminer, les combinaisons d'attributs que tu peux retrouver sur les répertoires concernées.
Constante Valeur Description Normal 0 Fichier normal. Aucun attribut n'est défini. ReadOnly 1 Fichier en lecture seule. L'attribut est en lecture/écriture. Hidden 2 Fichier caché. L'attribut est en lecture/écriture. System 4 Fichier système. L'attribut est en lecture/écriture. Volume 8 Étiquette de volume de lecteur de disque. L'attribut est en lecture seule. Directory 16 Dossier ou répertoire. L'attribut est en lecture seule. Archive 32 Le fichier a été modifié depuis la dernière sauvegarde. L'attribut est en lecture/écriture. Alias 64 Lien ou raccourci. L'attribut est en lecture seule. Compressed 128 Fichier compressé. L'attribut est en lecture seule.
Salutations!
"Nono311" a écrit dans le message de news: Bonsoir,
Y-a-t-il une opération simple pour détecter qu'un folder connu est protégé (interdit) en lecture pour l'utilisateur d'une macro. Dans ce cas : Myfolder.Files (par exemple pour essayer d'obtenir la liste des fichiers contenus dans le Folder Myfolder) plante sur erreur. Sans passer par le contrôle d'erreur bien sur !
Merci
Cette procédure n'est valide que pour les répertoires de premier niveau. Elle ne s'applique pas à tous les sous-répertoires.
Salutations!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:e9%23hbJnRDHA.2636@TK2MSFTNGP10.phx.gbl...
Bonjour 311,
Affiche seulement les répertoires en lecture seule.
Adapter de l'exemple de l'aide de Vba de Excel.
Tu peux faire une recherche sur Dir
Il ne te reste plus qu'à définir la variable MyPath de la procédure quant au chemin et répertoire que tu veux évaluer.
'-------------------------------------
Sub AfficherRépertoireEnLectureSeule()
Dim MyPath As String, MyName As String
Dim Fs As Object, F As Object
Dim Répertoire As String
Set Fs = CreateObject("Scripting.FileSystemObject")
' Définit le chemin d'accès.
MyPath = "c:toots" 'A définir
' Extrait la première entrée.
MyName = Dir(MyPath, vbDirectory)
' Commence la boucle.
Do While MyName <> ""
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If MyName <> "." And MyName <> ".." Then
' Utilise une comparaison au niveau du bit pour
' vérifier que MyName est un dossier.
If (GetAttr(MyPath & MyName) _
And vbDirectory) = vbDirectory Then
Set F = Fs.Getfolder(MyPath & MyName)
Select Case F.Attributes
Case 17, 49
Répertoire = Répertoire & MyPath & MyName & vbCrLf
End Select
End If
End If
' Extrait l'entrée suivante.
MyName = Dir
Loop
'Si répertoire n'est pas vide, affichage dans un message box
If Répertoire <> "" Then
MsgBox "Les répertoires en lecture seule de : " & MyPath & vbCrLf _
& vbCrLf & Répertoire, vbInformation + vbOKOnly, "Liste"
Else
MsgBox "Aucun répertoire ayant l'attribut lecture seule."
End If
End Sub
'--------------------------------------
La provenance du chiffre 17 et 49 proviennet de ce tableau des constantes que tu peux retrouver dans l'aide vba excel.
Ces propriétés s'additionnent. À toi de déterminer, les combinaisons d'attributs que tu peux retrouver sur les répertoires
concernées.
Constante Valeur Description
Normal 0 Fichier normal. Aucun attribut n'est défini.
ReadOnly 1 Fichier en lecture seule. L'attribut est en lecture/écriture.
Hidden 2 Fichier caché. L'attribut est en lecture/écriture.
System 4 Fichier système. L'attribut est en lecture/écriture.
Volume 8 Étiquette de volume de lecteur de disque. L'attribut est en lecture seule.
Directory 16 Dossier ou répertoire. L'attribut est en lecture seule.
Archive 32 Le fichier a été modifié depuis la dernière sauvegarde. L'attribut est en lecture/écriture.
Alias 64 Lien ou raccourci. L'attribut est en lecture seule.
Compressed 128 Fichier compressé. L'attribut est en lecture seule.
Salutations!
"Nono311" <domus31@free.fr> a écrit dans le message de news:eCwG4dmRDHA.2252@TK2MSFTNGP12.phx.gbl...
Bonsoir,
Y-a-t-il une opération simple pour détecter qu'un folder connu est protégé
(interdit) en lecture pour l'utilisateur d'une macro. Dans ce cas :
Myfolder.Files (par exemple pour essayer d'obtenir la liste des fichiers
contenus dans le Folder Myfolder) plante sur erreur. Sans passer par le
contrôle d'erreur bien sur !
Cette procédure n'est valide que pour les répertoires de premier niveau. Elle ne s'applique pas à tous les sous-répertoires.
Salutations!
"michdenis" a écrit dans le message de news:e9% Bonjour 311,
Affiche seulement les répertoires en lecture seule. Adapter de l'exemple de l'aide de Vba de Excel. Tu peux faire une recherche sur Dir
Il ne te reste plus qu'à définir la variable MyPath de la procédure quant au chemin et répertoire que tu veux évaluer.
'------------------------------------- Sub AfficherRépertoireEnLectureSeule()
Dim MyPath As String, MyName As String Dim Fs As Object, F As Object Dim Répertoire As String
Set Fs = CreateObject("Scripting.FileSystemObject")
' Définit le chemin d'accès. MyPath = "c:toots" 'A définir
' Extrait la première entrée. MyName = Dir(MyPath, vbDirectory)
' Commence la boucle. Do While MyName <> "" ' Ignore le dossier courant et le dossier ' contenant le dossier courant. If MyName <> "." And MyName <> ".." Then ' Utilise une comparaison au niveau du bit pour ' vérifier que MyName est un dossier. If (GetAttr(MyPath & MyName) _ And vbDirectory) = vbDirectory Then
Set F = Fs.Getfolder(MyPath & MyName) Select Case F.Attributes Case 17, 49 Répertoire = Répertoire & MyPath & MyName & vbCrLf End Select End If End If ' Extrait l'entrée suivante. MyName = Dir Loop
'Si répertoire n'est pas vide, affichage dans un message box If Répertoire <> "" Then MsgBox "Les répertoires en lecture seule de : " & MyPath & vbCrLf _ & vbCrLf & Répertoire, vbInformation + vbOKOnly, "Liste" Else MsgBox "Aucun répertoire ayant l'attribut lecture seule." End If
End Sub '--------------------------------------
La provenance du chiffre 17 et 49 proviennet de ce tableau des constantes que tu peux retrouver dans l'aide vba excel. Ces propriétés s'additionnent. À toi de déterminer, les combinaisons d'attributs que tu peux retrouver sur les répertoires concernées.
Constante Valeur Description Normal 0 Fichier normal. Aucun attribut n'est défini. ReadOnly 1 Fichier en lecture seule. L'attribut est en lecture/écriture. Hidden 2 Fichier caché. L'attribut est en lecture/écriture. System 4 Fichier système. L'attribut est en lecture/écriture. Volume 8 Étiquette de volume de lecteur de disque. L'attribut est en lecture seule. Directory 16 Dossier ou répertoire. L'attribut est en lecture seule. Archive 32 Le fichier a été modifié depuis la dernière sauvegarde. L'attribut est en lecture/écriture. Alias 64 Lien ou raccourci. L'attribut est en lecture seule. Compressed 128 Fichier compressé. L'attribut est en lecture seule.
Salutations!
"Nono311" a écrit dans le message de news: Bonsoir,
Y-a-t-il une opération simple pour détecter qu'un folder connu est protégé (interdit) en lecture pour l'utilisateur d'une macro. Dans ce cas : Myfolder.Files (par exemple pour essayer d'obtenir la liste des fichiers contenus dans le Folder Myfolder) plante sur erreur. Sans passer par le contrôle d'erreur bien sur !
Merci
FxM
Nono311 wrote:
Bonsoir,
Y-a-t-il une opération simple pour détecter qu'un folder connu est protégé (interdit) en lecture pour l'utilisateur d'une macro. Dans ce cas : Myfolder.Files (par exemple pour essayer d'obtenir la liste des fichiers contenus dans le Folder Myfolder) plante sur erreur. Sans passer par le contrôle d'erreur bien sur !
Merci
Bonsoir,
Pour faire hyper-simple (voire simpliste), regarde déjà le système d'exploitation. Windows 3, 95, 98, Me, NT3.51 ne permettent pas les partitions NTFS. Seules les partitions NTFS (et Linux ?) permettent une restriction en LECTURE. Les restrictions en écriture peuvent être faites sur toutes les partitions.
@+ FxM
Nono311 wrote:
Bonsoir,
Y-a-t-il une opération simple pour détecter qu'un folder connu est protégé
(interdit) en lecture pour l'utilisateur d'une macro. Dans ce cas :
Myfolder.Files (par exemple pour essayer d'obtenir la liste des fichiers
contenus dans le Folder Myfolder) plante sur erreur. Sans passer par le
contrôle d'erreur bien sur !
Merci
Bonsoir,
Pour faire hyper-simple (voire simpliste), regarde déjà le système
d'exploitation. Windows 3, 95, 98, Me, NT3.51 ne permettent pas les
partitions NTFS.
Seules les partitions NTFS (et Linux ?) permettent une restriction en
LECTURE. Les restrictions en écriture peuvent être faites sur toutes
les partitions.
Y-a-t-il une opération simple pour détecter qu'un folder connu est protégé (interdit) en lecture pour l'utilisateur d'une macro. Dans ce cas : Myfolder.Files (par exemple pour essayer d'obtenir la liste des fichiers contenus dans le Folder Myfolder) plante sur erreur. Sans passer par le contrôle d'erreur bien sur !
Merci
Bonsoir,
Pour faire hyper-simple (voire simpliste), regarde déjà le système d'exploitation. Windows 3, 95, 98, Me, NT3.51 ne permettent pas les partitions NTFS. Seules les partitions NTFS (et Linux ?) permettent une restriction en LECTURE. Les restrictions en écriture peuvent être faites sur toutes les partitions.