• Registrare gli accessi ai file di Excel 2007 con VBA

    vba-registrazione-accessi.jpg

    A volte può essere utile registrare il nome dell’utilizzatore di un file XLS.

    Ad esempio, potremmo voler sapere chi e quando ha avuto accesso al nostro documento.

    Vediamo, quindi, come è possibile memorizzare gli accessi di un file Excel grazie a delle semplici ma efficaci funzioni di VBA.

    Per prima cosa apriamo il nostro file Excel e salviamolo in formato “.XLSM“.

    Adesso apriamo l’editor di VBA (Sviluppo -> Visual Basic) e andiamo alla schermata del codice del nostro gruppo di lavoro (doppio click su “ThisWorkbook“, presente nel pannello degli oggetti a sinistra).

    Incolliamo nella finestra il seguente codice:


    Public strNome As String
    Public datData As Date
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'variabile da valorizzare
    NomePercorso = "C:percorsoalfile.txt"
    If Dir(nomepercorso, vbNormal) = "" Then
    Open NomePercorso For Output As #1
    Print #1, "Data accesso", "|", "Nome"
    Close #1
    End If
    Open nomepercorso For Append As #1
    Print #1, datData, "|", strNome
    Close #1
    End Sub
    Sub Workbook_Open()
    Do
    strNome = InputBox("Qual'è il tuo nome?" & vbNewLine & "Digitare 'Esci' per chiudere il file.", "Registrazione utente")
    datData = Date
    If StrConv(strNome, 1) = "ESCI" Then
    ActiveWorkbook.Save
    ActiveWindow.Close
    End If
    Loop While strNome = ""
    End Sub

    Ricordiamoci di valorizzare la variabile “NomePercorso” con il percorso al file in cui vogliamo registrare gli accessi. Questo file può anche non esistere.

    Salviamo il tutto e chiudiamo il file di Excel. Per una corretta registrazione, cancelliamo il file delle registrazioni che sarà stato creato (o riscritto se già presente) alla prima chiusura del file Excel.

    Da ora in poi all’apertura del file vi verrà richiesto di inserire il vostro nome e sarà determinata la data di accesso, mentre alla chiusura sarà aggiornato il file delle registrazioni, leggibile con tutti gli editor di testo, anche il semplice blocco note.

    Tags:

    Se vuoi aggiornamenti su Registrare gli accessi ai file di Excel 2007 con VBA inserisci la tua e-mail nel box qui sotto:


    Ho letto e acconsento l'informativa sulla privacy

    Si No

    Acconsento al trattamento dei dati personali di cui al punto 3 dell'informativa sulla privacy

    Si No

    Commenti

    1. Antonio dice:

      Informazione interessante, questa. … ma se volessi solo avere il contatore senza che l’utilizzatore del file ne sia a conoscenza cosa dovrei fare?
      Grazie per l’aiuto.

    2. Giulio Vito de Musso dice:

      Ciao Antonio,
      grazie per aver apprezzato questo post.
      Non mi è ben chiara la tua domanda. Vorresti che all’utente non venga richiesto il nome?

      Giulio

    3. Ale dice:

      dove trovo il file delle registrazioni???

    4. Ale dice:

      cmq codice utilissimo!!!!grazie mille!!!

    5. Giulio Vito de Musso dice:

      Ciao Ale,
      il file delle registrazioni viene salvato nel percorso che tu indichi nel codice.
      Grazie per l’apprezzamento :) Continua a seguirci tramite i feed RSS e la newsletter! :)

      Giulio

    Commenta

    Your email address will not be published. Required fields are marked *