Accediendo a un número de nota al pie en VBA (Microsoft Word)
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.