Arbeitsblatt mit Benutzername öffnen
Hallo!
So, jetzt bin habe ich noch eine Frage:
Ist es möglich, den Benutzernamen/LogIn Namen eines Rechner mit Hilfe von Excel 2007 auslesen?
Und kann man dann mit diesen Informationen eine Exceldatei so bearbeiten, dass für jeden Benutzernamen (der zuerst ausgelesen wurde) das jeweilige Arbeitsblatt geöffnet wird?
Klingt ziemlich kompliziert und befürchte, dass es auch so sein wird.
Aber vielleicht kann mir ja doch wer helfen!
mfg
So, jetzt bin habe ich noch eine Frage:
Ist es möglich, den Benutzernamen/LogIn Namen eines Rechner mit Hilfe von Excel 2007 auslesen?
Und kann man dann mit diesen Informationen eine Exceldatei so bearbeiten, dass für jeden Benutzernamen (der zuerst ausgelesen wurde) das jeweilige Arbeitsblatt geöffnet wird?
Klingt ziemlich kompliziert und befürchte, dass es auch so sein wird.
Aber vielleicht kann mir ja doch wer helfen!
mfg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 144344
Url: https://administrator.de/contentid/144344
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo selbst,
dieser Code stammt von einer MS Seite:
Ich würde diese Sub zu einer Function ummodeln, die Dir den ermittelten Usernamen als string zurückliefert, und dann in der auto_öffnen Funktion der gewünschten Arbeitsmappe einige Zeilen ähnlich der folgenden aufrufen:
Hope this helps,
/Thomas
dieser Code stammt von einer MS Seite:
' Declare for call to mpr.dll.
Declare Function WNetGetUser Lib "mpr.dll" _
Alias "WNetGetUserA" (ByVal lpName As String, _
ByVal lpUserName As String, lpnLength As Long) As Long
Const NoError = 0 'The Function call was successful
Sub GetUserName()
' Buffer size for the return string.
Const lpnLength As Integer = 255
' Get return buffer space.
Dim status As Integer
' For getting user information.
Dim lpName, lpUserName As String
' Assign the buffer size constant to lpUserName.
lpUserName = Space$(lpnLength + 1)
' Get the log-on name of the person using product.
status = WNetGetUser(lpName, lpUserName, lpnLength)
' See whether error occurred.
If status = NoError Then
' This line removes the null character. Strings in C are null-
' terminated. Strings in Visual Basic are not null-terminated.
' The null character must be removed from the C strings to be used
' cleanly in Visual Basic.
lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1)
Else
' An error occurred.
MsgBox "Unable to get the name."
End
End If
' Display the name of the person logged on to the machine.
MsgBox "The person logged on this machine is: " & lpUserName
End Sub
Private Sub auto_open() '...oder wie hiess das doch gleich?
Dim strUsername As String
strUsername = GetUserName()
ActiveWorkbook.Sheets(strUsername).Activate
End Sub
Hope this helps,
/Thomas
Warum nicht einfach über das Environment ?
Gruß
LotPings
strUsername = Environ("USERNAME")
Gruß
LotPings