Compartir a través de


Actualizar texto del marcador mediante programación

Puede insertar texto en un marcador de marcador de posición de un documento de Microsoft Office Word para poder recuperar el texto posteriormente o reemplazar el texto de un marcador. Si está desarrollando una personalización de nivel de documento, también puede actualizar el texto de un control Bookmark que está enlazado a datos. Para obtener más información, vea Enlazar datos a controles en soluciones de Office.

Se aplica a: la información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO para Word. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

El objeto de marcador puede ser de uno de los dos tipos indicados a continuación:

  • Un control host Bookmark.

    Los controles Bookmark amplían los objetos nativos Bookmark habilitando el enlace de datos y exponiendo los eventos. Para obtener más información sobre los controles host, consulte Información general sobre los elementos host y los controles host.

  • Un objeto Bookmark nativo.

    Los objetos Bookmark no tienen funcionalidad de enlace de datos o eventos.

    Cuando se asigna texto a un marcador, el comportamiento de los objetos Bookmark y Bookmark es diferente. Para obtener más información, vea Control Bookmark.

Uso de controles host

Para actualizar el contenido del marcador usando un control Bookmark

  1. Cree un procedimiento que tome un argumento bookmark para el nombre del marcador y un argumento newText para la cadena que se va a asignar a la propiedad Text.

    Nota:

    Asignar texto a la propiedad Text o FormattedText de un control Bookmark no hace que se elimine el marcador.

    static void BookMarkReplace(
        ref Microsoft.Office.Tools.Word.Bookmark bookmark, 
        string newText)
    {
    
  2. Asigne la cadena newText a la Text propiedad de .Bookmark

        bookmark.Text = newText;
    }
    

Usar objetos de Word

Para actualizar el contenido del marcador usando un objeto Bookmark de Word

  1. Cree un procedimiento que tenga un argumento bookmark para el nombre del objeto Bookmark y un argumento newText para la cadena que se va a asignar a la propiedad Text del marcador.

    Nota:

    Si se asigna texto a un objeto Bookmark nativo de Word, se elimina el marcador.

    internal void BookMarkReplaceNative(
        Word.Bookmark bookmark, 
        string newText)
    {
    
  2. Asigne la cadena newText a la Text propiedad del marcador, que elimina automáticamente el marcador. A continuación, vuelva a agregar el marcador a la colección Bookmarks.

    El siguiente ejemplo de código se puede usar en una personalización de nivel de documento.

        object rng = bookmark.Range;
        string bookmarkName = bookmark.Name;
    
        bookmark.Range.Text = newText;
    
        this.Bookmarks.Add(bookmarkName, ref rng); 
    }
    

    El siguiente ejemplo de código se puede usar en un complemento de VSTO. En este ejemplo se usa el documento activo.

        object rng = bookmark.Range;
        string bookmarkName = bookmark.Name;
    
        bookmark.Range.Text = newText;
    
        Word.Document document = this.Application.ActiveDocument;
        document.Bookmarks.Add(bookmarkName, ref rng);
    }