Utilizzo spesso dei segnalibri in Word per creare documenti tecnici con collegamenti interni alle citazioni e informazioni comunemente utilizzate che devono essere coerenti in tutto il documento. Puoi crearli selezionando il text e passando al menu Insert
-> Links
-> Bookmark
e assegnando un nome, poi andando a Insert
-> Links
-> Citations
e selezionando il segnalibro da inserire. Questo inserirà il text di quel segnalibro altrove nel documento.
Come esempio di perché faccio questo: spesso ho una pagina frontale che elenca lo stato del documento e che le informazioni vengono poi ripetute nel piè di pagina, utilizzando un segnalibro che posso impostare un collegamento a quel text e poi inserirlo nel piè di pagina e verrà aggiornato automaticamente each volta che vado all'anteprima di printing o aggiorniamo tutti i campi del documento. In questo modo posso evitare di fare una ricerca e sostituire e sapere solo che il text corretto verrà aggiornato nei luoghi corretti.
Ora diciamo che ho un segnalibro che ho appena nominato approssimativamente, solo per farlo:
Non esiste un clic con il button destro per rinominare un segnalibro e non riesco a trovare qualsiasi properties; di documento che mi permetta di modificarla.
Posso inserire un NUOVO segnalibro selezionando lo stesso text e poi eliminando quello vecchio, ma otterrai questo:
Devi quindi fare clic destro sul field e rimetterlo indietro al segnalibro (ora effettivamente rinominato).
Questo non è completamente utilizzabile, soprattutto in un grande documento in cui questo segnalibro viene utilizzato più volte.
Ho girato in giro e ho visto diversi script VBA sul web come in questa domanda, ma in quanto creano in modo efficace un nuovo boomark e cancellano quello vecchio creano lo stesso problema di cui sopra e sono less che ideali.
C'è un modo più semplice o più efficace per rinominare i segnalibri nei documenti di Word? Oppure sto utilizzando il Wrong Tool ™ per questo lavoro?
Non esiste alcuna function di ridenominazione incorporata in Word. Ci sono un paio di opzioni per aggirare questa mancanza:
Utilizza un componente aggiuntivo.
Utilizzare VBA.
Utilizza lo strumento aggiuntivo per i segnalibri
Offre un'interface utente amichevole per fare tutto ciò che fa la window di dialogo Segnalibri standard e molto di più.
Strumento di segnalibri è stato sviluppato per Word 2003. È completamente funzionale con Word 2007/2010.
…
Con la sezione "Aggiungi / Rinomina segnalibri", aggiungendo segnalibri è una brezza.
- Come nella window di dialogo standard, è sufficiente select il text, digitare un nome nel field e fare clic su "Aggiungi".
- A differenza della window di dialogo standard, lo strumento Segnalibri limita la voce di chiave ai caratteri di nome del bookmark validi e ti avvisa se si tenta di creare un nome di segnalibro duplicato.
È inoltre ansible utilizzare questa sezione per rinominare un segnalibro esistente.
![]()
Strumento di aggiunta di segnalibri di origine
Non esiste una function di ridenominazione. Devi eliminare il vecchio nome e contrassegnare l'intervallo con un nuovo nome del segnalibro. Ecco il codice VBA di esempio:
Sub ReNameBookMark() Dim doc As Word.Document Dim rng As Word.Range Dim bmk As Word.Bookmark Dim inpBookmark, repBookmark, fieldStr As String Set doc = Word.ActiveDocument inpBookmark = InputBox("Enter bookmark name that you want to be replaced:", "BookMark Replace") repBookmark = InputBox("Enter bookmark name replace with:", "BookMark Replace") Set rng = doc.Bookmarks(inpBookmark).Range Set bmk = doc.Bookmarks(inpBookmark) bmk.Delete rng.Bookmarks.Add (repBookmark) If doc.Fields.Count >= 1 Then For i = 1 To doc.Fields.Count fieldStr = doc.Fields(i).Code.Text If Left(fieldStr, 4) = " REF" Then doc.Fields(i).Code.Text = Replace(fieldStr, inpBookmark, repBookmark, , 1, vbTextCompare) doc.Fields(i).Update End If 'MsgBox "Code = " & doc.Fields(i).Code & vbCr & "Result = " & doc.Fields(i).Result & vbCr Next i End If End Sub
Fonte Cambiare il "nome" di un segnalibro non il suo text , con un ciclo aggiuntivo per eseguire i campi nel documento per modificare eventuali riferimenti al segnalibro che viene rinominato.
Si dovrebbe prestare attenzione a questo script. Ad esempio rinominare tutti i segnalibri che sono semplicemente denominati "REF" (o una variante superiore o minuscola di tali) romperanno TUTTI i riferimenti in modi divertenti e inaspettati. Questo è inteso come un esempio e solo la correzione ruvida.
Se si desidera raggruppare rinominare più segnalibri in una sola volta, vedere C'è un modo più semplice o più efficace per rinominare i segnalibri nei documenti di Word? che include anche il codice VBA di esempio.