Come specificare il testo predefinito da mostrare per i collegamenti ipertestuali

Giorgio inserisce spesso collegamenti ipertestuali nei suoi fogli di lavoro. Questi collegamenti ipertestuali sono a file di vario tipo che risiedono sul suo sistema informatico. Quando inserisce i collegamenti ipertestuali, il testo del collegamento ipertestuale predefinito inserito da Excel è il percorso completo e il nome del file. Giorgio vorrebbe che il testo del collegamento ipertestuale, per impostazione predefinita, fosse costituito solo dal nome del file, senza il percorso completo.

Esiste un modo molto semplice per ottenere il risultato desiderato: sposta semplicemente la cartella di lavoro nella stessa cartella con i file ai quali desideri collegarti. Quando si utilizza la finestra di dialogo Inserisci collegamento ipertestuale, per il collegamento verrà utilizzato il nome file, senza il percorso.

Se ciò non è fattibile, l’utilizzo della finestra di dialogo Inserisci collegamento ipertestuale si traduce in un percorso completo che finisce sia nel campo Indirizzo che nel campo Testo da visualizzare della finestra di dialogo. Non esiste alcun modo per modificare questo comportamento predefinito; puoi modificare solo il valore predefinito proposto da Excel. Ciò significa che è possibile, su ogni singolo collegamento ipertestuale, modificare il campo Testo da visualizzare nella finestra di dialogo Inserisci collegamento ipertestuale in modo che mostri solo il nome del file, come desideri.

Naturalmente, ciò comporta molte modifiche, da qui la necessità di Giorgio. Ci sono un paio di modi per aggirare questo problema. Il primo è non fare affidamento sulla finestra di dialogo Inserisci collegamento ipertestuale. Costruisci invece una formula che inserisce il collegamento ipertestuale utilizzando la funzione COLLEG.IPERTESTUALE. Diciamo, ad esempio, che hai, nella cella C2, il nome di percorso per la cartella contenente i tuoi file:

C:\Users\Simone\Documents\

 

Inoltre, potresti avere un elenco di nomi di file nell’intervallo D2:D75, come questo:

MiaCartella.xlsx
MioDocumento.docx
MioPDF.pdf

 

Potresti inserire una formula come questa nella cella E2:

=COLLEG.IPERTESTUALE($C$2 & D2;D2)

 

Copia la formula nell’intervallo E3:E75 e avrai i collegamenti ipertestuali che desideri.

Se nel foglio di calcolo sono già inseriti numerosi collegamenti (ad esempio, nella colonna A), potresti utilizzare una formula un po’ più complessa per estrarre e visualizzare solo il nome del file:

=COLLEG.IPERTESTUALE(A1;SOSTITUISCI(A1;SINISTRA(A1;TROVA(CODICE.CARATT(1);SOSTITUISCI(A1;"\";
CODICE.CARATT(1);LUNGHEZZA(A1)-LUNGHEZZA(SOSTITUISCI(A1;"\";"")))));""))

 

Potresti quindi nascondere la colonna contenente i collegamenti ipertestuali con il percorso completo, in modo da visualizzare solo le versioni abbreviate che desideri.

Se disponi di molti collegamenti ipertestuali su cui vuoi intervenire, potresti utilizzare una macro per rimuovere il percorso da tutti i collegamenti ipertestuali esistenti. Eccone un esempio:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

L’unica cosa che la macro modifica è il testo visualizzato per ciascun collegamento ipertestuale e cancella tutto quello che si trova prima della barra rovesciata finale. La macro non influenzerà tutto ciò che potrebbe apparire come risultato di una funzione COLLEG.IPERTESTUALE.

Questa macro può essere molto semplificata. Innanzitutto il ciclo While… Wend è obsoleto e mantenuto solo per compatibilità con le versioni precedenti.
E’ ora consigliato utilizzare l’istruzione Do… Loop che fornisce un modo più strutturato e flessibile per eseguire un loop.

Ma soprattutto non ce n’è affatto bisogno qui. La macro cerca l’ultima istanza della barra rovesciata ma VBA fornisce una funzione che fa esattamente questo in un’unica operazione: InStrRev.

Eccone una versione molto più efficiente e concisa:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

Tags: , , , , , , , , , , , , ,

Ti è stato utile?