Tracker avec le code de Dave Peterson (OSMachineName & OSUserName)
Bonjour à tous.
J'ai mis en place un tracker avec l'aide précieuse de vos intelligeances respective et de ce fameu "Dave Peterson".
Cf code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| Declare Function GetComputerName& Lib "kernel32" Alias "GetComputerNameA" (ByVal lbbuffer As String, nSize As Long)
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
'---------------------------------
Function OSMachineName() As String
'Num : 00001B1
'Suivi des Connexions
'Date de dernière modification : 18/05/2007
'Dave Peterson, mpep
Dim Buffer As String * 256
Dim BuffLen As Long
Dim lngX As Long
Dim strCompName As String
BuffLen = 255
If GetComputerName(Buffer, BuffLen) Then
OSMachineName = Left(Buffer, BuffLen)
End If
End Function
'---------------------------------
Function OSUserName() As String
'Num : 00001B2
'Suivi des Connexions
'Date de dernière modification : 18/05/2007
'Dave Peterson, mpep
Dim Buffer As String * 256
Dim BuffLen As Long
BuffLen = 256
If GetUserName(Buffer, BuffLen) Then
OSUserName = Left(Buffer, BuffLen - 1)
End If
End Function |
Mon problème est le suivant
Ce code marche tres bien avec certains ordinateur mais pas du tout avec d'autres. Je supose qu'un module n'est pas installé sur les postes en question.
Le pb c'est que je ne sais pas lequel.
D'autre part, le fichier sur lequel je travail doit etre accessible à tous.
Est-il possible d'importer un module sur un poste n'ayant pas ce module en question à la simple ouverture du fichier.
En gros il s'agit d'importer le module manquant dans un ordinateur qd l'utilisateur ouvre le fichier.
(Je ne sais pas si je suis assez clair)
Si tt cela n'était pas possible, comment emmettre une condition afin d'éviter l'erreur "75" qui apparait sur un poste sans le module?
Merci de votre aide
fred