Just nu i M3-nätverket
Gå till innehåll

användarnamn


jola99

Rekommendera Poster

Hej !

 

Jag är nybörjare på VBA och skulle vilja ha tag i användarnamnet i Windows och lägga det i en variable.

 

Hur hittar jag den?

 

Tack för all hjälp jag kan få.

 

Mvh

Jonas

 

 

Länk till kommentar
Dela på andra webbplatser

Hej, i Excel är det iallafall enkelt;

Public Sub getUserName()

 

Dim strUserName As String

strUserName = Application.UserName

 

End Sub

 

Länk till kommentar
Dela på andra webbplatser

Hej !

 

Tack för hjälpen !

 

Det är inte det värdet jag vill ha utan inloggnings namnet från Windows.

 

Hoppas på mer hjälp.

 

Mvh

Jonas

 

Länk till kommentar
Dela på andra webbplatser

Hej igen,

jaha.. Hrrm.. Det är det jag får fram när jag gör så.

Iaf när jag sitter på jobbet - då får jag fram det anvnamn jag anv för att logga in i XP.

dubbelkollade i hjälpen för XL_>VBA och där står det: "Returns or sets the name of the current user. Read/write String."

Så, det borde vara det, men tydligen är det inte så för dig ;)

Skall testa hemma senare ikväll för att se om det finns annan lösning.

Men du, vilken applikation är det du jobbar i?

I exvis Outlook finns inte application.username.

[inlägget ändrat 2004-11-10 10:20:49 av Joel Sundberg]

[inlägget ändrat 2004-11-10 10:25:13 av Joel Sundberg]

Länk till kommentar
Dela på andra webbplatser

Hej !

 

Det är i excel jag jobba i och det jag skulle vilja få in är inloggnings namnet och inte användar namnet.

 

Tack för all hjälp

Jonas

 

 

Länk till kommentar
Dela på andra webbplatser

OK vi kan alltså konstatera följande:

Jag får fram mitt inloggningsnamn som jag fyller i när jag startar windows xp. Nu loggar jag förvisso in på en domän då jag sitter på jobbet.

Kan tyvärr inte komma på någon alternativ lösning, men skall testa hemma där jag bara loggar in på min dator (inte på en domän).

lite snabba frågor:

- Vad har du för operativsystem?

- Vilken version av Excel har du?

- När du loggar in, loggar du då in på din dator (alltså inte på t.ex. en domän)

- Har du flera konton på datorn och i så fall, har det kontot du testar med ett lösenord?

- vad får du fram när du kör:

[color="#0000ff"]Public[/color] [color="#0000ff"]Sub[/color] getUserName()

[color="#0000ff"]Dim[/color] strUserName As [color="#0000ff"]String[/color]
strUserName = [b]Application[/b].UserName
[color="#0000ff"]MsgBox[/color] strUserName

[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]

 

Edit:

Såg nu att du skrev "[..] vilja få in är inloggnings namnet och inte användar namnet."

Vad är skillnaden? Du loggar in antingen genom att ange anvnamn & lösenord eller genom att klicka på ditt användarnamn och sedan fylla i lösenord.

Är jag helt ute och snurrar? Vad menar du är skillnaden mellan användarnamn & inloggningsnamn?

[inlägget ändrat 2004-11-10 11:52:47 av Joel Sundberg]

Länk till kommentar
Dela på andra webbplatser

Hej !

 

Jag kör Windows2000 och excel 2000 och loggar in på en domän också.

 

Får fram mitt namn och inte mitt inloggnings id....(id är inte namnet utan sexxxxxx).

 

Får fram mitt namn och inte id när jag kör programet....

 

Hoppas att du kan hjälpa mig...

 

Mvh

Jonas

 

Ps Tack för hjälpen.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej igen!

 

Har löst det och fick skriva...

 

 

Set netObj = CreateObject("WScript.Network")

user = netObj.UserName

 

Tack för all hjälp.

 

Mvh

Jonas

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej igen,

Vad bra!

Kul att du löste det =)

Tack för att du postade din lösning oxå :thumbsup:

Jag testade din kod och fick samma som med den jag angav ovan. Det beror kanske på hur nätverket är byggt.

Mitt inloggningsnamn är mitt anställningsnummer och det är det jag får fram. Troligen är mitt anställningsnummer även mitt användarnamn någonstans i någon nätverksanvändardatabas eller något ;-)

svamlar lite ;)

 

Länk till kommentar
Dela på andra webbplatser

Pär-Olof Holmqvist

Hej!

 

Jag har använt mig av API-funktionen GetUserName enligt nedan för att hämta användar/inloggningsnamnet. I min bärbara singeldator får jag fram mitt förnamn eftersom det är namnet på min användare. I nätverket får jag min kortidentitet som är mitt användarnamn i nätverket.

 

[color="#0000ff"]Private[/color] Declare [color="#0000ff"]Function[/color] GetUserName Lib [GRÅ]"advapi32.dll"[/GRÅ] _
    Alias [GRÅ]"GetUserNameA"[/GRÅ] (ByVal lpBuffer As [color="#0000ff"]String[/color], nsize As Long) _
    As Long

 

Jag använder sedan detta till att leta upp användarens mapp under Documents and settings enligt följande

 

[color="#0000ff"]Sub[/color] Hämta_SökvägCTfil()

    [color="#0000ff"]Dim[/color] strOpID As [color="#0000ff"]String[/color]
    [color="#0000ff"]Dim[/color] lngOpID As Long
    [color="#0000ff"]Dim[/color] booFinnsOpID As Boolean

    [color="#006400"]'Skapa utrymme i bufferten som används av funktionen GetUserNamne[/color]
    Let strOpID = [color="#0000ff"]Space[/color](255)
    Let lngOpID = 255

    [color="#006400"]'Leta upp användarID. Om inget användarID påträffas erhåller [/color]
    [color="#006400"]'variabeln värdet False.[/color]
    Let booFinnsOpID = GetUserName(strOpID, lngOpID)

    [color="#0000ff"]If[/color] booFinnsOpID = [color="#0000ff"]False[/color] [color="#0000ff"]Then[/color]    
        [color="#006400"]'Om användarID inte har påträffats aktiveras den lokala [/color]
        [color="#006400"]'hårddiskens rotkatalog (C:\)[/color]
        ChDrive [GRÅ]"C"[/GRÅ]
        ChDir [GRÅ]"C:\"[/GRÅ]
    [color="#0000ff"]ElseIf[/color] booFinnsOpID = [color="#0000ff"]True[/color] [color="#0000ff"]Then[/color]
        [color="#006400"]'Ta bort sista positionen i hämtad anvädadarID då detta är ett[/color]
        [color="#006400"]'Nullvärde. Aktivera användarens standardmapp.[/color]
        Let strOpID = [color="#0000ff"]Left[/color](strOpID, lngOpID - 1)
        ChDrive [GRÅ]"C"[/GRÅ]
        ChDir [GRÅ]"C:\Documents and Settings\"[/GRÅ] & strOpID 
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...