Hello all,
Voci un code que j'ai mis pour controler le nom des ordinateurs qui ouvrent un fichier excel sur le reseau :
----
'computer name
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
'user name
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Sub Workbook_Open()
'computer name
Dim strComputerName As String
strComputerName = String(10, Chr$(0))
GetComputerName strComputerName, 10
'username
Dim strUserName As String
strUserName = String(10, Chr$(0))
GetUserName strUserName, 10
Dim MonClass As String
MonClass = ActiveWorkbook.FullName
MonClass = Left(MonClass, 1)
Dim lngHFile As Long
lngHFile = FreeFile
Open MonClass & ":\CheckLog\myLog.txt" For Append Shared As #lngHFile
Write #lngHFile, Trim(Date), Right(Time, 10), Trim(strComputerName), Trim(strUserName)
Close #lngHFile
------
La seule condition est que le fichier .txt généré soit sur le même lecteur que le fichier excel. Dans mon cas j'ai caché ce fichier dans les méandres de notre reseau.
et voila le resultat dans le fichier texte :
------
"04/06/2004","09:37:15"," ","COMMB85 "
"04/06/2004","17:52:34"," ","commb89 "
"08/06/2004","13:07:37"," ","commb89 "
-------
Je sais que l'ordinateur COMMB85 c'est connecté le 04/06 à 9:37. Par contre chez nous le nom n'est pas renseigné j'ai donc un blanc.
Voila en esperant que cela t'aide
++
Creepy