Riscrivi le macro del modulo 'ThisWorkbook' così:
Option Explicit
Dim modificato As Boolean
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
modificato = True
End Sub
Private Sub Workbook_Open()
Dim name1 As String
Dim CurFolder As String
Dim DestFolder As String
Application.ScreenUpdating = False
name1 = Foglio2.Range("Z1").Value
CurFolder = ActiveWorkbook.path
DestFolder = CurFolder & "\" & name1 & "\"
If Dir(DestFolder, vbDirectory) = "" Then MkDir DestFolder
Open DestFolder & "\accessi.log" For Append As #1
Print #1, Application.UserName, Now & " ACCESSO"
Close #1
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim name1 As String
Dim CurFolder As String
Dim DestFolder As String
Dim risposta As String
name1 = Foglio2.Range("Z1").Value
CurFolder = ActiveWorkbook.path
DestFolder = CurFolder & "\" & name1 & "\"
If Dir(DestFolder, vbDirectory) = "" Then MkDir DestFolder
Open DestFolder & "\accessi.log" For Append As #1
If modificato = True Then
risposta = MsgBox("Vuoi salvare le modifiche apportate ?", vbYesNo)
Select Case risposta
Case Is = vbYes
'file modificato e salvato
Print #1, Application.UserName, Now & " CHIUSURA" & " modificato "
ThisWorkbook.Save
Case Is = vbNo
'file modificato ma non salvato
Print #1, Application.UserName, Now & " CHIUSURA" & " non modificato "
ThisWorkbook.Saved = True
End Select
Else
'file non modificato
Print #1, Application.UserName, Now & " CHIUSURA" & " non modificato "
End If
Print #1, "-------------------------------------------------------"
Close #1
End Sub
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)