<Snip> Private Const MAX_COMPUTERNAME_LENGTH = 31 Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function VBGetComputerName() As String Dim sBuf As String, iActualLen As Long sBuf = String(MAX_COMPUTERNAME_LENGTH + 1, 0) iActualLen = Len(sBuf) GetComputerName sBuf, iActualLen VBGetComputerName = Left$(sBuf, iActualLen) End Function </Snip>
Hvordan er det så lige jeg får fat i brugernavnet når mit skabelonmodul starter. Grunden til at jeg skal bruge brugernavnet er at jeg bruger en databaseløsning som fortæller hvilke skabeloner brugeren har til rådighed.
Nu ved jeg ikke, om der er en eller anden rutine, der køres automatisk i det tilfælde, men det vil være stedet, hvor min rutine kaldes. Den kan i øvrigt kaldes alle steder, hvor det skal bruges.
Private Const MAX_COMPUTERNAME_LENGTH = 31 Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function VBGetUserName() As String Dim sBuf As String, iActualLen As Long sBuf = String(MAX_COMPUTERNAME_LENGTH + 1, 0) iActualLen = Len(sBuf) Call GetUserName(sBuf, iActualLen) VBGetUserName = Left$(sBuf, iActualLen) End Function
michaelemanuel> Det som du lige har skrevet sætter jeg ind i et nyt modul...ik´? Men når jeg nu skal have brugernavnet til at stå i en label - hvordan koder jeg mig ud af det?
Du kan selv vælge om du vil sætte koden ind i et modul eller i din form. For at vise brugernavn i en label der f.eks. hedder lblUsername, kan du skrive følgende :
Private Sub Form_Load lblUsername.Caption = VBGetUserName() End Sub
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long
Public Function gstrGetLoggedInUser() Dim sBuff As String * 25 Dim lRet As Long: Dim char_zero Dim sUserName As String: Dim GetLoggedInUser As String 'Get the user name, remove NULLs, and trim trailing spaces. lRet = GetUserName(sBuff, 25) sUserName = Trim$(Left(sBuff, InStr(sBuff, Chr(char_zero)) - 1)) 'Return empty if no name is returned. If sUserName = vbNullString Then GetLoggedInUser = "" gstrGetLoggedInUser = sUserName End Function
Så fik jeg den til at virke...tak skal i have i er sgu´ morgenfriske.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.