PREMESSA

La lentezza di avvio di un qualunque programma può avere molteplici cause: in questo articolo si affronta una di queste cause, specificatamente una lentezza di Word (qualunque versione "recente" e quindi da 2000 in poi - non ho provato 2007) quando si tenta di aprire un normale file .DOC.

SITUAZIONE
Quando si prova ad aprire un documento di Word (sia con il doppio click che aprendo il file da una sessione di Word già avviata), il file impiega diversi minuti per aprirsi: durante questo intervallo Word sembra "freezato" e non risponde a nessun comando. Una volta aperto il documento tutte le funzionalità ritornano normali e nessun problema si manifesta fin quando non si riapre il file.

APPROFONDIMENTO
Tutte le persone che hanno usato Word almeno una volta conoscono il concetto di modello: trattasi nè più ne meno di un file che viene appunto usato come modello tutte le volte che si crea un documento appartenente ad una ben determinata categoria. Normalmente i modelli si trovano sulla macchina client dell'utente, ma in molte aziende è abbastanza comune disporre di un "repository" centrale di modelli, ragion per cui i vari Word sono stati configurati (spesso tramite GPO) per andare a prendere i modelli di documento da un percorso di rete (disco mappato o percorso UNC).
 
Il modello non è solo un oggetto "statico" usato in fase di creazione del documento: all'interno del .doc infatti viene referenziato il percorso del modello "padre" ed ogni volta che il file viene aperto, Word cerca anche di aprire il modello padre (questo perchè, in caso di aggiornamenti al modello, io potrei scegliere di "ereditare" questi aggiornamenti). Per vedere il modello che ha "originato" un documento basta andare su Strumenti > Modelli e Aggiunte (oppure Tools > Templates and Add-ons per gli anglofoni)

word

Ora, supponiamo che il modello sia specificato come un normale percorso (es. K:\modelli\mio_modello.dot). Quando Word apre il file, vedrà il nome ed il percorso del modello e proverà ad aprirlo: se il modello non esiste però Word andrà tranquillamente avanti aprendo il documento come se niente fosse (K: potrebbe anche essere una unità di rete non più usata oppure l'utente sta aprendo il documento sul proprio PC di casa dopo esserselo copiato su chiave USB).

Vediamo invece cosa succede se il percorso al file è un percorso UNC (es. ). Anche stavolta, quando Word apre il file, vedrà il nome ed il percorso del modello e proverà ad aprirlo: peccato però che, trattandosi di un percorso di rete, Word chiederà al sistema operativo di accedere alla macchina . Se la macchina filesrv è ancora presente, il tutto potrebbe risolversi in pochi attimi dato che si ricade in una situazione simile alla precedente (percorso inesistente). Se invece la macchina non è proprio più disponibile (es. perchè è stata spenta) allora il povero Word dovrà aspettare il timeout della componente REDIRECTOR di Windows che notoriamente è abbastanza elevato.


SOLUZIONE

Tutto sommato la soluzione è abbastanza semplice: dato che alla fine il documento viene aperto (viene aperto velocemente anche se non c'è la rete) è sufficiente rimuovere l'informazione relativa al modello: questo non comporta alcuna perdita di funzionalità (nel 99,9999999999999999999999999% dei casi) e consente poi di riaprire il file con una giusta velocità.
Sebbene la soluzione sia semplice, si può rivelare praticamente impossibile da applicare quando la mole di file creata con questo problema è grande (magari ci sono 10 anni di documenti informatici da rivedere, come è capitato a me); anche chiedere agli utenti di fare questa semplice operazione ogni volta che trovano un file ostico non è normalmente una opzione possibile. Per questo motivo ho creato un programmillo in VB6 (avanza per queste cose, alto che dotnette!) che va alla ricerca di tutti i .doc contenuti in un certo ramo di directory, li apre uno per uno e "cancella" le informazioni del modello mettendo al suo posto il sempreverde Normal.dot.
Il programma lo trovate (o lo troverete) nella sezione SOFTWARE: al solito, non si garantisce niente! A me a funzionato abbastanza bene, ma naturalmente prima di iniziare mi ero fatto un bel backup "a boccie ferme" di tutto il file server per essere sicuro!

MORALE DELLA FAVOLA
Usate sempre le unità mappate che non hanno problemi strani!