Avatar billede leasing Nybegynder
12. december 2002 - 08:52 Der er 9 kommentarer og
3 løsninger

Hente brugernavn i VB til word

Jeg har brug for at få oplyst det brugernavn som bruges til at logge på vores netværk.
Hvordan skal jeg lige kode mig ud af det?
Avatar billede bennytordrup Nybegynder
12. december 2002 - 08:54 #1
Erklær følgende i et modul.

<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>
Avatar billede leasing Nybegynder
12. december 2002 - 08:56 #2
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.
Avatar billede bennytordrup Nybegynder
12. december 2002 - 08:58 #3
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.
Avatar billede michaelemanuel Nybegynder
12. december 2002 - 08:58 #4
Du kan bruge følgende API :

Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Avatar billede leasing Nybegynder
12. december 2002 - 08:59 #5
Det er også godt...men hvordan kalder jeg brugernavnet frem???
Avatar billede bennytordrup Nybegynder
12. december 2002 - 09:01 #6
Doooh. Jeg skal vist lære at læse. Min rutine henter Computernavnet. Glem, at jeg er her :-)
Avatar billede leasing Nybegynder
12. december 2002 - 09:03 #7
michaelemanuel> Kan du vise mig hele den kode der skal ind i et modul - samtidig hvordan jeg kalder brugernavnet frem i min form?
Avatar billede michaelemanuel Nybegynder
12. december 2002 - 09:03 #8
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
Avatar billede leasing Nybegynder
12. december 2002 - 09:05 #9
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?
Avatar billede michaelemanuel Nybegynder
12. december 2002 - 09:11 #10
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
Avatar billede peter.erikse Nybegynder
12. december 2002 - 09:17 #11
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

'Kald:
    Im = gstrGetLoggedInUser
Avatar billede leasing Nybegynder
12. december 2002 - 09:22 #12
Så fik jeg den til at virke...tak skal i have i er sgu´ morgenfriske.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester