Condividi:        

[WORD] Evidenziare segnalibro

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[WORD] Evidenziare segnalibro

Postdi Zinco83 » 14/07/17 15:03

Buongiorno a tutti,

vorrei sapere se esiste la possibilità di evidenziare un segnalibro dopo averlo raggiunto tramite collegamento ipertestuale.
Mi spiego meglio con un esempio: supponiamo di avere il collegamento ipertestuale nella parola "CICCIO" a pagina 1, premendo là il collegamento mi porta al segnalibro di pagina 3 che ho impostato sempre sulla parola "CICCIO". Vorrei sapere a questo punto se è possibile rendere evidente la parola "CICCIO" di pagina 3 (sottolineandola, evidenziandola...), più o meno come succede quando utilizzando la funzione "Trova" si evidenziano le parole trovate.

Grazie per l'aiuto
Zinco83
Utente Junior
 
Post: 14
Iscritto il: 16/01/17 14:55

Sponsor
 

Re: [WORD] Evidenziare segnalibro

Postdi FRIEDRICH » 14/07/17 17:37

Ciao Zinco83,
prova la seguente macro, che trasforma in grassetto i segnalibri e li evidenzia in rosa:

Codice: Seleziona tutto
Sub EvidenziaSegnalibri ()
    Dim Segnalibri As Bookmark
    Dim testo As Range

    Set testo = ActiveDocument.StoryRanges(wdMainTextStory)
    For Each Segnalibri In tx.Bookmarks
        Segnalibri.Range.Bold = True
        Segnalibri.Range.HighlightColorIndex = wdPink
       
    Next
End Sub
Avatar utente
FRIEDRICH
Utente Junior
 
Post: 36
Iscritto il: 09/07/17 17:14

Re: [WORD] Evidenziare segnalibro

Postdi Zinco83 » 20/07/17 08:18

Ciao Friedrich,
grazie della risposta. Quello che cerco non è questo però, mi serve la possibilità di evidenziare un solo segnalibro relativo al collegamento che premo.
Faccio un altro esempio: Pagina 1, premo sul collegamento ipertestuale "Mario" che mi porta a pagina 2.
A pagina 2 ho i seguenti segnalibri: Pino, Gino, Mario, Luigi. Vorrei che si evidenziasse solo Mario.
E' possibile?
Grazie dell'aiuto
Zinco83
Utente Junior
 
Post: 14
Iscritto il: 16/01/17 14:55

Re: [WORD] Evidenziare segnalibro

Postdi Anthony47 » 21/07/17 00:50

I bookmark e gli hyperlink sono prestazioni di Word, la loro gestione e' quella Microsoft e, per quello che ne so, non esistono agganci facilmente utilizzabili per realizzare quanto richiesto.
Una cosa simile si puo' simulare tramite macro con questo procedimento:
-vai sul progetto vba del documento, cerca ed espandi il "modulo" ThisDocument
-inseriscici questo codice:
Codice: Seleziona tutto
Private Sub Document_Close()
    Application.OnTime Now + TimeValue("00:00:01"), "mmacro11"
    mytim = Timer
    Do
    DoEvents: If Timer > (mytim + 2) Or Timer < mytim Then Exit Do
    Loop
End Sub

Private Sub Document_Open()
myNext = Now + TimeValue("00:00:05")
Application.OnTime myNext, "myBMHlight"
End Sub

Poi crea un modulo standard (Menu /Inserisci /Modulo) e inserisci questo codice:
Codice: Seleziona tutto
Public myNext  'RIGOROSAMENTE INTESTA AL MODULO

Sub myBMHlight()
Dim BM As Bookmark
If ActiveDocument = ThisDocument Then
'Debug.Print "myBMHL"
mytim = Timer
DoEvents
    For Each BM In ActiveDocument.Bookmarks
        If Selection.Range.InRange(BM.Range) Then
            BM.Range.HighlightColorIndex = wdBrightGreen
        Else
            BM.Range.HighlightColorIndex = wdNoHighlight
        End If
    Next BM
End If
'Debug.Print Format(Timer - mytim, "0.000")
myNext = Now + TimeValue("00:00:02")
Application.OnTime myNext, "myBMHlight"
End Sub

Sub mmacro11()
Debug.Print "mmacro11"
End Sub

Sub Stoppa()
    Application.OnTime Now + TimeValue("00:00:01"), "mmacro11"
    mytim = Timer
    Do
    DoEvents: If Timer > (mytim + 2) Or Timer < mytim Then Exit Do
    Loop
End Sub

Salva il documento (in formato .docm, macro enabled), chiudilo e riaprilo.

Prova ora ad andare su un bookmark: nel giro di 2 sec il bookmark dovrebbe evidenziarsi; analogamente se sposti la selezione, nel giro di 2 sec l'evidenza dovrebbe essere rimossa.
Questo funziona indipendentemente da come sei andato sul bookmark: via hyperlink, selezione manuale, tramite F5, ...

Questo e' ottenuto perche' quando il file viene aperto viene schedulata l'esecuzione della Sub myBMHlight, che poi si riesegue sistematicamente fino alla chiusura del file ogni 2 secondi.
Ovviamente ci saranno delle situazioni in cui questa situazione puo' dare fastidio. In questo caso lancia manualmente la Sub Stoppa (da Word, premi F8; scegli Stoppa dall'elenco di macro disponibili, premi Esegui); in questo modo la prestazione verra' interrotta e ripartira' alla successiva apertura del documento.

Spero sia di qualche utilita'.
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[WORD] Evidenziare segnalibro":


Chi c’è in linea

Visitano il forum: Anthony47 e 16 ospiti