È probabile che tu sappia già come utilizzare i segnalibri. (Altri Suggerimenti parola descrivono come definirli e manipolarli.) Se si creano macro, potrebbe essere necessario recuperare i nomi dei segnalibri definiti all’interno di un documento.

VBA consente di recuperare i nomi dei segnalibri utilizzando la proprietà Name con i membri della raccolta di segnalibri. La sintassi dell’istruzione è la seguente:

x = ActiveDocument.Bookmarks(y).Name

dove y è il puntatore di offset al nome del segnalibro desiderato. Dopo aver eseguito l’istruzione, x conterrà il nome del segnalibro specificato dal puntatore. Per rendere utile questa funzione, dovresti davvero leggere tutti i nomi dei segnalibri in un array, che puoi quindi manipolare. Il seguente frammento di codice farà il trucco:

Dim Bmk() As String Dim x As Integer, J As Integer

x = ActiveDocument.Bookmarks.Count ReDim Bmk(x)

For j = 1 to x     Bmk(j) = ActiveDocument.Bookmarks(j).Name Next j

Si noti che questo frammento di codice utilizza l’istruzione ReDim, che consente di modificare dinamicamente il numero di elementi in una matrice. La ragione di questo approccio è abbastanza semplice: l’array Bmk deve avere tanti elementi quanti sono i segnalibri definiti. Tuttavia, non puoi sapere prima di eseguire la terza riga di questo codice esattamente quanti sono. VBA richiede che tutto il dimensionamento (utilizzando Dim) venga eseguito prima che venga eseguito qualsiasi codice di programma effettivo. Pertanto, il primo Dim per Bmk deve soddisfare VBA e il ReDim di Bmk viene eseguito per impostare l’array alla dimensione necessaria.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (796) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: