Ho un problema con un file excel usato da piu utenti. Il problema è che se uno si dimentica di chiuderlo, gli altri non riescono ad usarlo.
Ho cercato in rete delle soluzioni, ma senza risultati soddisfacenti.
la soluzione che ho adottato, ma con scarsi risultati è la seguente:
-In "questa cartella di lavoro", ho messo le seguenti istruzioni:
- Codice: Seleziona tutto
Private Sub Workbook_Activate() ' Gestione Flag1, INVARIATA
Flag1 = True
End Sub
Private Sub Workbook_Deactivate() 'Gestione Flag1, VARIATA
Flag1 = Now()
End Sub
Private Sub Workbook_Open() 'AGGIUNTA per lanciare InFocYN la prima volta
Flag1 = True
Call InFocusYN
End Sub
-Mentre in un "modulo" la seguente istruzione:
- Codice: Seleziona tutto
Public InFoc
Public Flag1
Private Declare Function GetActiveWindow Lib "user32" () As Long
Sub InFocusYN()
If GetActiveWindow <> Application.Hwnd Then
If InFoc = True Then InFoc = Now()
Else
InFoc = True
End If
If InFoc <> True Then
If InFoc + TimeValue("00:15:00") < Now Then
ThisWorkbook.Close SaveChanges:=True
End If
End If
If Flag1 <> True Then
If Flag1 + TimeValue("00:15:00") < Now Then
End If
End If
DeltaT = "00:05:00"
Application.OnTime Now + TimeValue(DeltaT), "InFocusYN"
End Sub
Mi sapreste dire se è corretta, o in alternativa, un'altra soluzione.
grazie