Macro anti fouineur

cs_vasamena Messages postés 2 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 13 août 2007 - 11 août 2007 à 20:34
cs_vasamena Messages postés 2 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 13 août 2007 - 13 août 2007 à 16:27
Bonjour,
Je cherche une macro qui me permette de savoir si quelqu'un ouvre mes fichiers persos.
Je m'explique: Je travail dans une socièté de 50 personnes et nous sommes tous sur serveurs. Chacun à un domaine perso pour stocker ses données. Je trouvais étrange que certain fichiers soient avec des dates de modification différentes par rapport à leur dernière utilisation. Mais lorsque que j'ai regardé les propriétés de mon domaine, j'ai vu que les droits était donnés aux cadres de mon entreprise sur celui-ci.
Je cherche donc à savoir qui, quand et de quel ordinateur, ouvre mes fichiers.

Merci d'avance.

3 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 août 2007 à 06:54
salut

dans workbook_open, tu cherches TON lecteur réseau, pour y écrire un fichier texte (sorte de fichier log), avec le nom utilisateur, et l'horodate.

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
0
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
12 août 2007 à 11:10
Salut,
par contre si c'est une macro, celui qui ouvre ton fichier peut les désactiver et là tu ne saura pas qui à ouvert le document!

@+

--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/
0
cs_vasamena Messages postés 2 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 13 août 2007
13 août 2007 à 16:27
En fouillant j'ai trouvé ceci:

Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, _
nSize As Long) As Long


'Spy Opening/Closing @Thierry
Private Sub Workbook_Open()
Dim lpBuff As String * 25
Dim ret As Long
Dim UserName As String, Spy As String, ThePath
ret = GetUserName(lpBuff, 25)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)


ThePath = "C:\Spy.txt"


Spy = "Open on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "User Name : " & vbTab & UserName


Open ThePath For Append As #1
Print #1, Spy
Close


End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim lpBuff As String * 25
Dim ret As Long
Dim UserName As String, Spy As String, ThePath
ret = GetUserName(lpBuff, 25)
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
ThePath = "C:\Spy.txt"
Spy = "Close on : " & vbTab & Format(Now, "DD/MM/YYYY HH:MM:SS") & _
vbTab & "User Name : " & vbTab & UserName
Open ThePath For Append As #1
Print #1, Spy
Close
End Sub

Malheureusement ça me donne le nom de la séssion mais pas celui de l'ordinateur.
Pouvez vous m'aider un améliorer cette macro?

Merci
0
Rejoignez-nous