droits d'accés fichier en VBA

  • Initiateur de la discussion Initiateur de la discussion GP2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

GP2

Guest
Bonjour !

Je souhaiterais développer une routine qui permet d'obtenir quels sont les droits utilisateurs sur un fichier donné du réseau (plusieurs postes sous win2000 qui n'ont pas tous le droit d'écriture sur le fichier concerné).
Pouvez-vous m'éclairer ?

Merci d'avance...
 
Bonjour GP2,

Essaye ceci:

Private Sub Workbook_Open()
  If ThisWorkbook.ReadOnly = True Then
    MsgBox ("En lecture seule")
  Else
    MsgBox ("En lecture écriture")
  End If
End Sub


Je n'ai pas essayé sur un lecteur réseau, seulement en modifiant l'attribut lecture seule du fichier, mais ça doit être pareil.

A+

José
 
Merci José mais en fait ce n'est pas pareil justement !
J'ai bien défini les attributs du fichier en lecture-écriture et d'ailleurs la fonction getattr m'indique que le fichier n'est pas en lecture seule.
Le Pb est donc de récupérer les infos de propriétés d'accés du fichier dans windows.

J'ai des pistes avec le code suivant mais ça ne fonctionne pas car je ne parviens pas à fournir l'argument OwnerWnd à la fonction.
Merci de m'aider !!

-------------------------------------------------------------
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type

Const SEE_MASK_INVOKEIDLIST = &HC
Const SEE_MASK_NOCLOSEPROCESS = &H40
Const SEE_MASK_FLAG_NO_UI = &H400

Private Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long

Private Function File_Properties_DialogBox(FileName As String, OwnerhWnd As Long)
Dim SEI As SHELLEXECUTEINFO
With SEI
.cbSize = Len(SEI)
.fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST _
Or SEE_MASK_FLAG_NO_UI
.hwnd = OwnerhWnd
.lpVerb = "properties"
.lpFile = FileName
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With
Call ShellExecuteEX(SEI)
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
202
Réponses
8
Affichages
854
Retour