Mit VBA Usernamen speichern und einlesen
#1
Hallo Excelperten,

ich möchte ich einer Excel 2003-Datei, die einen Blattschutz hat und für mehrere Benutzer freigegeben ist, den Namen des Nutzers (Initialien) abfragen.

Diese Initialen soll in VBA gespeichert und in ein Feld der Tabelle kopiert werden.

Es soll nicht der Anmeldename von Excel oder Username von Windows sein.

Hat jemand eine Idee?

Vielen Dank schon einmal!

Excelbeginner
Top
#2
Hi,

Gegenfrage:
Woher weiß Excel denn welcher Benutzer Änderungen vornimmt?

Könntest Du vielleicht mit einer Referenztabelle arbeiten, in der Username und Initialen hinterlegt sind?

Gruß
Max
Top
#3
Hallöchen,

im Prinzip geht das so. Du musst nur mal schauen, für 2003 sollte in dem If der erste Teil gehen.

Code:
Option Explicit

Public Sub UserInitialen()
'Variablendeklarationen
'Objekt
Dim WSHShell As Object
'String
Dim strUI As String
'Textkonstante
Const strHK As String = "HKEY_CURRENT_USER\Software\Microsoft\Office\"
   'Scriptobjkt zuweisen
   Set WSHShell = CreateObject("WScript.Shell")
   'Wenn Excelversion < 12, dann
   If Application.Version < "12.0" Then
   'Registryschlüssel auslesen
   strUI = WSHShell.RegRead(strHK & Application.Version & _
      "\Common\Userinfo\UserInitials")
   'oder nicht Wenn Excelversion < 12, dann
   Else
   'Registryschlüssel auslesen
   strUI = WSHShell.RegRead(strHK & "Common\Userinfo\UserInitials")
   'Ende Wenn Excelversion < 12, dann
   End If
   'Meldung ausgeben
   MsgBox strUI
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
Hallo SchauAn,

vielen Dank für Deinen Tipp. Wahrscheinlich ändern sich die Gegebenheiten, da die Mitarbeiter wohl jeder ihr eigenes Excel bekommen. Den Eintrag der Initialen des Usernamens hatte ich schon umgesetzt.

Mal schauen. Ich komme ggf. auf Deinen Vorschlag zurück

Vilen Dank!

Excelbeginner
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste