Paul está intentando usar Word VBA para devolver el número de nota al pie de la nota al pie en la que se encuentra el punto de inserción. En su caso, es posible que la nota a pie de página contenga más de un párrafo. Paul se pregunta si hay alguna forma de determinar este número de nota al pie en VBA.

Es posible determinar un número de nota al pie utilizando la propiedad Index de un objeto de nota al pie. Aquí tienes una forma rápida de demostrar cómo esta información puede ser útil:

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

Tenga en cuenta que la macro recorre cada nota al pie del documento. Si se determina que la selección (punto de inserción) está en una nota al pie en particular, entonces la propiedad Index de esa nota al pie se usa para poner un mensaje en la variable sTemp. Una vez que haya terminado de recorrer las notas al pie, la variable sTemp se muestra en un cuadro de mensaje.

Si tiene muchas notas a pie de página en su documento, es posible que no desee recorrerlas todas. En ese caso, puede usar la propiedad Información de la selección para determinar si el punto de inserción se encuentra actualmente en una nota al pie, de esta manera:

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

Además, puede obtener otra información sobre una nota al pie en particular ampliando las propiedades de esa nota al pie a las que accede. La siguiente macro devuelve no solo el número de la nota al pie, sino también la regla de numeración, el estilo de numeración y el número inicial de las notas al pie:

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: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.

link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

WordTips es su fuente de formación rentable en Microsoft Word.

(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (5906) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365.