Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Excel VBA Username ermitteln

862 views
Skip to first unread message

Beck, Alwin

unread,
Mar 11, 2009, 9:25:32 AM3/11/09
to
Excel 2003

Hallo,

dieser Code funktioniert bei mir innerhalb von Outlook.
Bei Excel 2003 wird hier "Namespace" nicht akzeptiert.

Wie kann ich dieses anpassen ?


'Anfang: Excel Benutzer Name + Vorname ermitteln
Dim myuser As Object
Dim myNameSpace As Namespace

Set myNameSpace = Nothing
Set myuser = Application.GetNamespace("MAPI").CurrentUser
'Ende: Excel Benutzer Name + Vorname ermitteln

Danke
Gruß
Albe

stefan onken

unread,
Mar 11, 2009, 11:03:17 AM3/11/09
to

hallo Albe,
probiers mal mit

Sub WerBinIch()
MsgBox Environ("username")
End Sub

das gibt den Namen zurück, der unter Extras/Optionen eingetragen ist.

Oder willst du obigen Code in Excel laufen lassen?
Dann

Dim myuser As Object
Dim myNameSpace 'As Namespace
Set myNameSpace = Nothing

Set olApp = CreateObject("Outlook.Application")
Set myuser = olApp.GetNamespace("MAPI").CurrentUser
MsgBox myuser


'Ende: Excel Benutzer Name + Vorname ermitteln

Set olApp = Nothing

Gruß
stefan

Beck, Alwin

unread,
Mar 11, 2009, 11:17:46 AM3/11/09
to
"stefan onken" <steo...@web.de> schrieb im Newsbeitrag
news:e7955e74-bf80-4d96...@s20g2000yqh.googlegroups.com...

Gruß
stefan

Hallo Stefan,

ich möchte den Namen gem. Useranmeldung auslesen - nicht den Namen
aus "Extras Optionen" - da dieses nicht belegt ist und somit zu
unsicher.
Eigentlich benötige ich den Namen + Vornamen.

Danke
Gruß
Albe

Carlos Naplos

unread,
Mar 11, 2009, 11:42:29 AM3/11/09
to
Hallo Alwin

Schau mal, ob hier (http://www.xlam.ch/soscq/benutzer.htm#Aktueller%20Benutzer%20einer%20Exceldatei) etwas für Dich dabei ist!

(Suche mit Grgl: excel benutzername, 1. Eintrag)

Gruß
CN

Dr. Eckehard Pfeifer

unread,
Mar 11, 2009, 11:47:55 AM3/11/09
to
Hallo

MsgBox Environ("Username")

sollte helfen, ob da allerdings klar ist, was Vor- bzw. Nachname ist, hängt
von den Umständen ab.

--
MfG EP
Entwicklung - Beratung - Training (www.dr-e-pfeifer.net)
XL-Maxibuch (ISBN: 3-86645-231-4)
Microsoft Office 2007-Programmierung (ISBN 3-86645-415-5)

stefan onken

unread,
Mar 11, 2009, 12:00:56 PM3/11/09
to
> Hallo Stefan,
>
> ich möchte den Namen gem. Useranmeldung auslesen - nicht den Namen
> aus "Extras Optionen" - da dieses nicht belegt ist und somit zu
> unsicher.
> Eigentlich benötige ich den Namen + Vornamen.
>
ups, Environ("username") liefert den Windows-Anmeldenamen.
Extras/Optionen ist Application.Username

Environ("username") liefert wie das API advapi32.dll (erster Code auf
der SOSCQ-Seite) nicht den Vornamen, wenn dieser nicht in der Windows-
Anmeldung enthalten ist (so wie hier bei uns in der Firma).

Über den Zugriff über Outlook klappt es bei mir jedoch.

Sub WerBinIchInOutlook()


Dim myuser As Object
Dim myNameSpace 'As Namespace
Set myNameSpace = Nothing
Set olApp = CreateObject("Outlook.Application")
Set myuser = olApp.GetNamespace("MAPI").CurrentUser
MsgBox myuser
'Ende: Excel Benutzer Name + Vorname ermitteln
Set olApp = Nothing

End Sub


Gruß
stefan

Carlos Naplos

unread,
Mar 11, 2009, 12:14:51 PM3/11/09
to
stefan onken schrieb:

>> Hallo Stefan,
>>
>> ich möchte den Namen gem. Useranmeldung auslesen - nicht den Namen
>> aus "Extras Optionen" - da dieses nicht belegt ist und somit zu
>> unsicher.
>> Eigentlich benötige ich den Namen + Vornamen.
>>
> ups, Environ("username") liefert den Windows-Anmeldenamen.
> Extras/Optionen ist Application.Username
>

Environ("username") liefert den Inhalt der Umgebungsvariable "USERNAME", den Du Dir im cmd-Fenster mit "set username" anzeigen lassen kannst. (s.a. help set)

Gruß
CN

Carlos Naplos

unread,
Mar 11, 2009, 12:17:18 PM3/11/09
to
p.s.: mit "set username=<NeuerName>" kann man die Umgebungsvariable auch ändern.

Beck, Alwin

unread,
Mar 12, 2009, 3:06:49 AM3/12/09
to
"stefan onken" <steo...@web.de> schrieb im Newsbeitrag
news:2f35d13f-8f9d-42a6...@z1g2000yqn.googlegroups.com...


Gruß
stefan

Hallo zusammen,
danke für die Hilfe. Habe nun meinen Code verwendet wie oben
von Outlook. Problem lag wie von Stefan auskommentiert in Zeile3
Dim myNameSpace 'As Namespace "As Namespace wurde nicht akzeptiert,
was bei Outlook der Fall war. Wende ich dieses nun an funktioniert die
Ausgabe mit Name + Vorname.

Danke
Gruß
Albe


stefan onken

unread,
Mar 12, 2009, 4:12:35 AM3/12/09
to
>
> Hallo zusammen,
> danke für die Hilfe. Habe nun meinen Code verwendet wie oben
> von Outlook. Problem lag wie von Stefan auskommentiert in Zeile3
> Dim myNameSpace 'As Namespace   "As Namespace  wurde nicht akzeptiert,
> was bei Outlook der Fall war. Wende ich dieses nun an funktioniert die
> Ausgabe mit Name + Vorname.

hallo Albe,
kurz die Erklärung dafür:
Excel kennt Namespace nicht, da es ja zu Outlook gehört.
Wenn man jedoch im VBA-Editor unter Extras/Verweise einen Verweis auf
die MS Outlook Library setzt, weiss Excel, was Namespace ist, dann
brauchst du nicht auszukommentieren. Solche Verweise können jedoch
Probleme machen (zB bei Verwendung der Datei in verschiedenen Office-
Versionen).
http://www.online-excel.de/excel/singsel_vba.php?f=85

Gruß
stefan

0 new messages