J'ai une question sur la propriété Username de l'objet Application. Pour
certains utilisateurs cette valeur est l'identifiant avec lequel ils se sont
logués dans windows et pour d'autres c'est leur nom prénom. Quelqu'un peut
il m'eclairer sur cette différence, je capte plus rien ?????
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
ÉBonjour Kamel,
Username renvoie l'information que tu retrouve dans Barre des menus / outils / options / onglet général : "Nom d'utilisateur"
Cela n'a rien à voir avec probablement le nom de l'usager utilise pour se logger au réseau.
Voici 4 façons d'obtenir ce que tu veux.
Ce message fut publié par Frédéric Sigonneau ... Tu exécutes la macro Test()
Déclaration des API à copier dans le haut d'un module standard '------------------------ 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 '------------------------
Sub test() MsgBox OSUserName MsgBox fGetUserName MsgBox fOSUserName MsgBox FindUserName End Sub
Function OSUserName() As String '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 Function
Function fGetUserName() As String 'posté par Med Bouchenafa, mpfe Const lpnLength As Integer = 255 Dim iRet As Integer Dim lpName, lpUserName As String
lpUserName = Space$(lpnLength + 1)
iRet = WNetGetUser(lpName, lpUserName, lpnLength) If iRet = 0 Then lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else lpUserName = "" End If
fGetUserName = lpUserName
End Function
Function fOSUserName() As String ' Trevor Shuttleworth, mpep ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String
strUserName = String$(254, 0) lngLen = 255 lngX = GetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function
Public Function FindUserName() As String ' Andrew, mpep Dim strName As String strName = Space$(512) GetUserName strName, Len(strName) FindUserName = Trim$(strName) End Function '====================
Salutations!
"Kamel" a écrit dans le message de news: Bonsoir à toutes et à tous !
J'ai une question sur la propriété Username de l'objet Application. Pour certains utilisateurs cette valeur est l'identifiant avec lequel ils se sont logués dans windows et pour d'autres c'est leur nom prénom. Quelqu'un peut il m'eclairer sur cette différence, je capte plus rien ?????
Merci
ÉBonjour Kamel,
Username renvoie l'information que tu retrouve dans
Barre des menus / outils / options / onglet général : "Nom d'utilisateur"
Cela n'a rien à voir avec probablement le nom de l'usager utilise pour se logger au réseau.
Voici 4 façons d'obtenir ce que tu veux.
Ce message fut publié par Frédéric Sigonneau ...
Tu exécutes la macro Test()
Déclaration des API à copier dans le haut d'un module standard
'------------------------
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
'------------------------
Sub test()
MsgBox OSUserName
MsgBox fGetUserName
MsgBox fOSUserName
MsgBox FindUserName
End Sub
Function OSUserName() As String
'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 Function
Function fGetUserName() As String
'posté par Med Bouchenafa, mpfe
Const lpnLength As Integer = 255
Dim iRet As Integer
Dim lpName, lpUserName As String
lpUserName = Space$(lpnLength + 1)
iRet = WNetGetUser(lpName, lpUserName, lpnLength)
If iRet = 0 Then
lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1)
Else
lpUserName = ""
End If
fGetUserName = lpUserName
End Function
Function fOSUserName() As String
' Trevor Shuttleworth, mpep
' Returns the network login name
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = GetUserName(strUserName, lngLen)
If lngX <> 0 Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = ""
End If
End Function
Public Function FindUserName() As String
' Andrew, mpep
Dim strName As String
strName = Space$(512)
GetUserName strName, Len(strName)
FindUserName = Trim$(strName)
End Function
'====================
Salutations!
"Kamel" <kamel@bogoss.com> a écrit dans le message de news: eWPveDCTFHA.3696@TK2MSFTNGP15.phx.gbl...
Bonsoir à toutes et à tous !
J'ai une question sur la propriété Username de l'objet Application. Pour
certains utilisateurs cette valeur est l'identifiant avec lequel ils se sont
logués dans windows et pour d'autres c'est leur nom prénom. Quelqu'un peut
il m'eclairer sur cette différence, je capte plus rien ?????
Username renvoie l'information que tu retrouve dans Barre des menus / outils / options / onglet général : "Nom d'utilisateur"
Cela n'a rien à voir avec probablement le nom de l'usager utilise pour se logger au réseau.
Voici 4 façons d'obtenir ce que tu veux.
Ce message fut publié par Frédéric Sigonneau ... Tu exécutes la macro Test()
Déclaration des API à copier dans le haut d'un module standard '------------------------ 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 '------------------------
Sub test() MsgBox OSUserName MsgBox fGetUserName MsgBox fOSUserName MsgBox FindUserName End Sub
Function OSUserName() As String '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 Function
Function fGetUserName() As String 'posté par Med Bouchenafa, mpfe Const lpnLength As Integer = 255 Dim iRet As Integer Dim lpName, lpUserName As String
lpUserName = Space$(lpnLength + 1)
iRet = WNetGetUser(lpName, lpUserName, lpnLength) If iRet = 0 Then lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else lpUserName = "" End If
fGetUserName = lpUserName
End Function
Function fOSUserName() As String ' Trevor Shuttleworth, mpep ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String
strUserName = String$(254, 0) lngLen = 255 lngX = GetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function
Public Function FindUserName() As String ' Andrew, mpep Dim strName As String strName = Space$(512) GetUserName strName, Len(strName) FindUserName = Trim$(strName) End Function '====================
Salutations!
"Kamel" a écrit dans le message de news: Bonsoir à toutes et à tous !
J'ai une question sur la propriété Username de l'objet Application. Pour certains utilisateurs cette valeur est l'identifiant avec lequel ils se sont logués dans windows et pour d'autres c'est leur nom prénom. Quelqu'un peut il m'eclairer sur cette différence, je capte plus rien ?????