excel vba‎ > ‎

Visualizzare data e nome utente ultima modifica

posted Sep 9, 2015, 2:28 AM by Roberto Felicini

Comunque, partendo da qui:

http://www.erlandsendata.no/english/index.php?d=envbaosusername

Con questo codice da mettere in un modulo:

Public Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function ReturnUserName() As String

    Dim rString As String * 255
    Dim sLen As Long
    Dim tString As String

    tString = ""

On Error Resume Next

    sLen = GetUserName(rString, 255)
    sLen = InStr(1, rString, Chr(0))

    If sLen > 0 Then
        tString = Left(rString, sLen - 1)
    Else
        tString = rString
    End If

On Error GoTo 0

    ReturnUserName = UCase(Trim(tString))

End Function


E questo da mettere nell'evento Open di
ThisWorkbook:

Private Sub Workbook_Open()

    Dim nr As Long

    With Worksheets("FoglioDiLog")

        nr = .Range("A65536").End(xlUp).Row

        .Cells(nr + 1, 1).Value = ReturnUserName
        .Cells(nr + 1, 2).Value = Format(Date, "mm/dd/yyyy")
        .Cells(nr + 1, 3).Value = Format(Now, "hh:mm:ss")

    End With

End Sub

Avendo preventivamente creato un foglio
chiamato FoglioDiLog, ogni volta che un
utente mi apre il file, viengono scritti:

Nome utente
Data
Ora

Ti metto qui un esempio:

http://www.webalice.it/maurogsc/prova/xlsvbaFoglioDiLog.zip

Comments