Paul sta tentando di utilizzare Word VBA per restituire il numero della nota a piè di pagina in cui si trova il punto di inserimento. Nel suo caso, è possibile che la nota a piè di pagina contenga più di un paragrafo. Paul si chiede se esiste un modo per determinare questo numero di nota a piè di pagina in VBA.

È possibile determinare un numero di nota a piè di pagina utilizzando la proprietà Index di un oggetto nota a piè di pagina. Ecco un modo rapido per dimostrare come queste informazioni possono essere utili:

Sub GetFootnoteNumber()

Dim f As Footnote     Dim sTemp As String

sTemp = "The insertion point is not in a footnote"

For Each f In ActiveDocument.Footnotes         If Selection.InRange(f.Range) Then             sTemp = "The insertion point is in footnote " & f.Index         End If     Next     MsgBox sTemp End Sub

Notare che la macro passa attraverso ogni nota a piè di pagina nel documento. Se viene determinato che la selezione (punto di inserimento) si trova in una particolare nota a piè di pagina, la proprietà Index di quella nota a piè di pagina viene utilizzata per inserire un messaggio nella variabile sTemp. Una volta terminato di scorrere le note a piè di pagina, la variabile sTemp viene visualizzata in una finestra di messaggio.

Se nel tuo documento sono presenti molte note a piè di pagina, potresti non volerle scorrere tutte. In tal caso, puoi utilizzare la proprietà Informazioni della selezione per determinare se il punto di inserimento è attualmente in una nota a piè di pagina, in questo modo:

Sub GetFootnoteNum()

Dim J As Integer     Dim sTemp As String

sTemp = "The insertion point is not in a footnote"

If Selection.Information(wdInFootnote) Then         J = Selection.Paragraphs(1).Range.Footnotes(1).Index         sTemp = "The insertion point is in footnote " & J     End If     MsgBox sTemp End Sub

Inoltre, puoi ricavare altre informazioni su una particolare nota a piè di pagina espandendo le proprietà di quella nota a piè di pagina a cui accedi. La seguente macro restituisce non solo il numero della nota a piè di pagina, ma anche la regola di numerazione, lo stile di numerazione e il numero iniziale per le note a piè di pagina:

Sub GetFootnoteInfo()

Dim f As Footnote     Dim sTemp As String          sTemp = "The insertion point is not in a footnote"

If Selection.Information(wdInFootnote) Then         Set f = Selection.Paragraphs(1).Range.Footnotes(1)

sTemp = "Footnote number: " & f.Index & vbCr         With f.Range.FootnoteOptions             sTemp = sTemp & "Numbering Rule: " & .NumberingRule & vbCr & _               "Numbering Style: " & .NumberStyle & vbCr & _               "Starting Number: " & .StartingNumber         End With     End If     MsgBox sTemp End Sub

_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 (5906) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365.