Accesso a un numero di nota a piè di pagina in VBA (Microsoft Word)
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.