Joe ha chiesto se esiste un modo per determinare, in una macro, chi ha una particolare cartella di lavoro aperta. Ha pensato di usare la proprietà WriteReservedBy, ma non sembra avere le informazioni di cui ha bisogno.

Sfortunatamente, non è possibile determinare queste informazioni da VBA: semplicemente non sono accessibili. La proprietà WriteReservedBy non mostra chi ha un file aperto; mostra chi ha salvato la cartella di lavoro utilizzando una password. In altre parole, quando qualcuno salva una cartella di lavoro con l’opzione di avere una password per modificarla, il file è “WriteReserved”. La proprietà WriteReservedBy contiene il nome della persona che ha salvato il file nello stato WriteReserved.

Se hai solo bisogno di sapere la risposta (su chi ha il file aperto)

periodicamente, è più semplice raccogliere un elenco dei nomi dei file aperti e chiedere all’amministratore di rete di dirti chi li ha aperti: tali informazioni sono mantenute sulla rete e accessibili all’amministratore.

Un’altra possibile soluzione consiste nell’aggiungere una macro AutoOpen a ciascuna cartella di lavoro che scrive un file temporaneo su disco che contiene il nome della persona che apre il file. La macro dovrebbe non solo aprire il file temporaneo, ma gestire le condizioni di errore, come un file temporaneo già aperto. Il file temporaneo potrebbe quindi essere accessibile da altre macro per vedere il nome che contiene.

Un altro luogo che può contenere una risposta è il sito VBNet. L’articolo in questa pagina contiene codice che può essere adattabile per le informazioni desiderate:

http://vbnet.mvps.org/index.html?code/network/netfileenum.htm

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2492) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: