Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten 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)
Antworten 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
Antworten Top


Gehe zu:


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