Come tenere traccia dei collegamenti ipertestuali visitati

A Giacomo piace che i collegamenti ipertestuali di Excel mostrino che sono stati visitati. Sfortunatamente, quando salva la sua cartella di lavoro, vengono tutti reimpostati come non visitati. Giacomo si chiede se esista un modo per far sì che lo stato “visitato” dei suoi collegamenti ipertestuali sopravviva all’operazione di salvataggio.

Non c’è modo di farlo con le impostazioni standard di Excel. Il massimo a cui possiamo arrivare è verificare se un collegamento ipertestuale viene visitato e quindi indicare in qualche modo lo stato con una condizione o un valore che sopravvive a un’operazione di salvataggio. Consideriamo ad esempio le seguenti macro:

 

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim wks As Worksheet
    Dim hl As Hyperlink
    Application.ScreenUpdating = False
    For Each wks In ThisWorkbook.Worksheets
        For Each hl In wks.Hyperlinks
            If hl.Parent.Interior.ColorIndex = 37 Then
                hl.Parent.Interior.ColorIndex = xlNone
                hl.Parent.Style = "Followed Hyperlink"
            End If
        Next hl
    Next wks
    Application.ScreenUpdating = True
End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
    Target.Parent.Interior.ColorIndex = 37
End Sub

 

 

Ogni volta che viene visitato un collegamento ipertestuale, viene eseguita la seconda macro. Essa imposta il colore della cella contenente il collegamento ipertestuale. Quindi, quando la cartella di lavoro viene salvata, viene eseguita la prima macro. Controlla tutte le celle contenenti collegamenti ipertestuali e se il loro colore interno è il colore “chiave” (valore colore pari a 37), lo stile della cella è impostato su uno stile denominato “Collegamento ipertestuale visitato“. Questa impostazione di stile per la cella sopravvivrà all’operazione di salvataggio; l’unica cosa che devi fare è assicurarti di aver definito lo stile in cui desideri che vengano visualizzati i collegamenti ipertestuali visitati.

È bene precisare che queste due macro vanno aggiunte al modulo Questa_cartella_di_lavoro. Per accedervi, visualizza l’editor di Visual Basic e fai doppio clic sul modulo Questa_cartella_di_lavoro in Gestione progetti. È quindi possibile incollare le macro nella finestra del codice risultante.

 

 

 

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

Ti è stato utile?