veramente le soluzioni proposte sono due e non so quale ritieni più adatta
comunque consiglio di registrare, in un file testo anomino posto in rete, i seguenti dati
Data e Ora , Utente, Operazione effettuata (Apertura, salvataggio e chiusura)
La macro è la stessa cambia solo la posizione del codice Vba da inserire in ThisWorkbook (o Questa_cartella_di_lavoro) e la descrizione dell'operazione
il seguente codice:
- Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Perc = "C:\TEMP\" '<<<<<<<<<<<<< inserisci il percorso di rete (cartella diversa da quella del file in oggetto)
Open Perc & "Contr" For Append As #1
Print #1, Now() & ";" & UCase(Environ("userName")) & "; Close"
Close #1
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Perc = "C:\TEMP\"
Open Perc & "Contr" For Append As #1
Print #1, Now() & ";" & UCase(Environ("userName")) & "; Save"
Close #1
End Sub
Private Sub Workbook_Open()
Perc = "C:\TEMP\"
Open Perc & "Contr" For Append As #1
Print #1, Now() & ";" & UCase(Environ("userName")) & "; Open"
Close #1
End Sub
Nel Perc inserisci un percorso di rete (cartella recondita) al quale gli utenti del file in oggetto abbiano accesso.
E' opportuno che questo percorso non sia lo stesso del file (xls)
Ad ogni apertura del file xls verrà registrata (nel file Contr) una riga contenente le informazioni indicate
Il file "Contr" è volutamente registrato senza estensione .txt in quanto rimane "meno accessibile" ma lo si potrà aprire con NotePad
Stessa cosa in caso di chiusura del file (senza salvataggio)
e chiusura con salvataggio
Le indicazioni "Open", "Close" e "Save" informano dell'operazione effettuata.
la punteggiatura (Punto e virgola) interposta tra un dato e un altro permette di importare i record in un fogli excel per maggior analisi dei tempi di uso del file da parte di ogni utente.
Chiaramente dovrai proteggere il codice Vba con una password (sicurezza sempre valida per i neofiti)
Ciao
N.B: Ti ricordo, comunque che simili registrazioni sono illegali se non hai incarichi speciali di controllo e riservatezza. perché ciò viola le leggi della privacy