Como parte de una macro, es posible que necesite trabajar con información almacenada en un marcador. Por ejemplo, es posible que deba extraer el texto de un marcador, asignarlo a una variable y luego realizar un procesamiento basado en el contenido de la variable.

Hay dos formas de asignar el contenido de un marcador a una variable en una macro de VBA. La primera es simplemente saltar al marcador y seleccionarlo, luego hacer que la variable sea igual al contenido de la selección. Las siguientes líneas de código realizarán esta acción para un marcador llamado MyBookmark:

Dim sMyString As String Selection.GoTo What:=wdGoToBookmark, Name:="MyBookmark"

sMyString = Selection.Text

Si no desea cambiar la selección dentro del documento, también puede simplemente trabajar con la colección de marcadores mantenida por Word.

Suponiendo que aún necesita el contenido del marcador MyBookmark, el siguiente código funcionará:

Dim sMyString As String sMyString = ActiveDocument.Bookmarks("MyBookmark").Range.Text

Tenga en cuenta que el nombre del marcador («MyBookmark») no tiene que ser un valor estático como se muestra en estos dos ejemplos. Si lo desea, simplemente puede reemplazar el valor estático con una variable, como se muestra aquí:

Dim sMyString As String Dim sBName As String sBName = "Boilerplate"

Selection.GoTo What:=wdGoToBookmark, Name:=sBName sMyString = Selection.Text

En este ejemplo, el nombre del marcador (aquel cuyo contenido desea tomar y colocar en sMyString) está incluido en la variable sBName.

A medida que desarrolla su propio código, puede crear fácilmente una forma para que un usuario ingrese un nombre de marcador y simplemente lo asigne a la variable sBName.

_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). Esta sugerencia (8876) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365. Puede encontrar una versión de esta sugerencia para interfaz de menú anterior de Word aquí:

link: / word-Setting_a_VBA_Variable_From_a_Bookmark [Configuración de una variable VBA desde un marcador].