Compartir a través de


Word.ContentControl class

Representa un control de contenido. Los controles de contenido son regiones delimitadas y posiblemente con etiquetas de un documento que funcionan como contenedores para tipos de contenido específicos. Los controles de contenido individuales pueden incluir contenido como imágenes, tablas o párrafos de texto con formato. Actualmente, solo se admiten los controles de contenido de texto enriquecido, texto sin formato y casilla.

Extends

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {

    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;

    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');

    // Synchronize the document state by executing the queued commands,
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to load the properties on the first content control.
        contentControls.items[0].load(  'appearance,' +
                                        'cannotDelete,' +
                                        'cannotEdit,' +
                                        'color,' +
                                        'id,' +
                                        'placeHolderText,' +
                                        'removeWhenEdited,' +
                                        'title,' +
                                        'text,' +
                                        'type,' +
                                        'style,' +
                                        'tag,' +
                                        'font/size,' +
                                        'font/name,' +
                                        'font/color');

        // Synchronize the document state by executing the queued commands,
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Property values of the first content control:' +
            '   ----- appearance: ' + contentControls.items[0].appearance +
            '   ----- cannotDelete: ' + contentControls.items[0].cannotDelete +
            '   ----- cannotEdit: ' + contentControls.items[0].cannotEdit +
            '   ----- color: ' + contentControls.items[0].color +
            '   ----- id: ' + contentControls.items[0].id +
            '   ----- placeHolderText: ' + contentControls.items[0].placeholderText +
            '   ----- removeWhenEdited: ' + contentControls.items[0].removeWhenEdited +
            '   ----- title: ' + contentControls.items[0].title +
            '   ----- text: ' + contentControls.items[0].text +
            '   ----- type: ' + contentControls.items[0].type +
            '   ----- style: ' + contentControls.items[0].style +
            '   ----- tag: ' + contentControls.items[0].tag +
            '   ----- font size: ' + contentControls.items[0].font.size +
            '   ----- font name: ' + contentControls.items[0].font.name +
            '   ----- font color: ' + contentControls.items[0].font.color);
    }
});

Propiedades

appearance

Especifica la apariencia del control de contenido. El valor puede ser "BoundingBox", "Tags" o "Hidden".

cannotDelete

Especifica un valor que indica si el usuario puede eliminar el control de contenido. Esta propiedad y removeWhenEdited son mutuamente excluyentes.

cannotEdit

Especifica un valor que indica si el usuario puede editar el contenido del control de contenido.

color

Especifica el color del control de contenido. El color se especifica en formato "#RRGGBB" o mediante el nombre del color.

contentControls

Obtiene la colección de objetos de control de contenido que se encuentran en el control de contenido.

context

Contexto de solicitud asociado al objeto . Esto conecta el proceso del complemento al proceso de la aplicación host de Office.

font

Obtiene el formato de texto del control de contenido. Úselo para obtener y establecer el nombre de la fuente, el tamaño, el color y otras propiedades.

id

Obtiene un entero que representa el identificador del control de contenido.

inlinePictures

Obtiene la colección de objetos InlinePicture en el control de contenido. La colección no incluye imágenes flotantes.

paragraphs

Obtiene la colección de objetos de párrafo en el control de contenido.

parentContentControl

Obtiene el control de contenido que contiene el control de contenido. Produce un ItemNotFound error si no hay un control de contenido primario.

placeholderText

Especifica el texto del marcador de posición del control de contenido. Se mostrará texto atenuado cuando el control de contenido esté vacío.

removeWhenEdited

Especifica un valor que indica si el control de contenido se quita después de editarlo. Esta propiedad y cannotDelete son mutuamente excluyentes.

style

Especifica el nombre de estilo del control de contenido. Use esta propiedad para los estilos personalizados y los nombres de estilo localizados. Para usar los estilos integrados portátiles entre configuraciones regionales, consulte la propiedad "styleBuiltIn".

tag

Especifica una etiqueta para identificar un control de contenido.

text

Obtiene el texto del control de contenido.

title

Especifica el título de un control de contenido.

type

Obtiene el tipo de control de contenido. Actualmente solo se admiten controles de texto enriquecido, texto sin formato y contenido de casilla.

Métodos

clear()

Borra el contenido del control de contenido. El usuario puede realizar la operación de deshacer en el contenido borrado.

delete(keepContent)

Elimina el control de contenido y su contenido. Si keepContent se establece en true, el contenido no se elimina.

getHtml()

Obtiene una representación HTML del objeto de control de contenido. Cuando se representa en una página web o un visor HTML, el formato será una coincidencia cercana, pero no exacta, del formato del documento. Este método no devuelve exactamente el mismo HTML para el mismo documento en distintas plataformas (Windows, Mac, Word en la web, etc.). Si necesita fidelidad exacta o coherencia entre plataformas, use ContentControl.getOoxml() y convierta el XML devuelto en HTML.

getOoxml()

Obtiene la representación Office Open XML (OOXML) del objeto de control de contenido.

insertBreak(breakType, insertLocation)

Inserta un salto en la ubicación especificada del documento principal. Este método no se puede usar con los controles de contenido "RichTextTable", "RichTextTableRow" y "RichTextTableCell".

insertFileFromBase64(base64File, insertLocation)

Inserta un documento en el control de contenido en la ubicación especificada.

insertHtml(html, insertLocation)

Inserta HTML en el control de contenido en la ubicación especificada.

insertInlinePictureFromBase64(base64EncodedImage, insertLocation)

Inserta una imagen incorporada en el control de contenido en la ubicación especificada.

insertOoxml(ooxml, insertLocation)

Inserta OOXML en el control de contenido en la ubicación especificada.

insertParagraph(paragraphText, insertLocation)

Inserta un párrafo en la ubicación especificada.

insertText(text, insertLocation)

Inserta texto en el control de contenido en la ubicación especificada.

load(options)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNames)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNamesAndPaths)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

search(searchText, searchOptions)

Realiza una búsqueda con las SearchOptions especificadas en el ámbito del objeto de control de contenido. Los resultados de la búsqueda son una colección de objetos de intervalo.

select(selectionMode)

Selecciona el control de contenido. Esto hace que Word se desplace hasta la selección.

select(selectionModeString)

Selecciona el control de contenido. Esto hace que Word se desplace hasta la selección.

set(properties, options)

Establece varias propiedades de un objeto al mismo tiempo. Puede pasar un objeto sin formato con las propiedades adecuadas u otro objeto de API del mismo tipo.

set(properties)

Establece varias propiedades en el objeto al mismo tiempo, en función de un objeto cargado existente.

toJSON()

Invalida el método JavaScript toJSON() para proporcionar una salida más útil cuando se pasa un objeto de API a JSON.stringify(). (JSON.stringifya su vez, llama al toJSON método del objeto que se le pasa). Mientras que el objeto original Word.ContentControl es un objeto de API, el toJSON método devuelve un objeto JavaScript sin formato (escrito como Word.Interfaces.ContentControlData) que contiene copias superficiales de las propiedades secundarias cargadas del objeto original.

track()

Realiza un seguimiento del objeto de ajuste automático según cambios adyacentes en el documento. Esta llamada es una abreviatura para context.trackedObjects.add(thisObject). Si usa este objeto entre .sync llamadas y fuera de la ejecución secuencial de un lote ".run" y obtiene un error "InvalidObjectPath" al establecer una propiedad o invocar un método en el objeto, debe agregar el objeto a la colección de objetos de seguimiento cuando se creó el objeto por primera vez. Si este objeto forma parte de una colección, también debe realizar un seguimiento de la colección primaria.

untrack()

Libere la memoria asociada a este objeto, si se ha realizado un seguimiento de él anteriormente. Esta llamada es abreviada para context.trackedObjects.remove(thisObject). Tener muchos objetos marcados ralentiza la aplicación host, así que debe recordar liberar los objetos que agregue cuando haya terminado con ellos. Tendrá que llamar context.sync() a antes de que la versión de memoria surta efecto.

Detalles de las propiedades

appearance

Especifica la apariencia del control de contenido. El valor puede ser "BoundingBox", "Tags" o "Hidden".

appearance: Word.ContentControlAppearance | "BoundingBox" | "Tags" | "Hidden";

Valor de propiedad

Word.ContentControlAppearance | "BoundingBox" | "Tags" | "Hidden"

Comentarios

[ Conjunto de API: WordApi 1.1 ]

cannotDelete

Especifica un valor que indica si el usuario puede eliminar el control de contenido. Esta propiedad y removeWhenEdited son mutuamente excluyentes.

cannotDelete: boolean;

Valor de propiedad

boolean

Comentarios

[ Conjunto de API: WordApi 1.1 ]

cannotEdit

Especifica un valor que indica si el usuario puede editar el contenido del control de contenido.

cannotEdit: boolean;

Valor de propiedad

boolean

Comentarios

[ Conjunto de API: WordApi 1.1 ]

color

Especifica el color del control de contenido. El color se especifica en formato "#RRGGBB" o mediante el nombre del color.

color: string;

Valor de propiedad

string

Comentarios

[ Conjunto de API: WordApi 1.1 ]

contentControls

Obtiene la colección de objetos de control de contenido que se encuentran en el control de contenido.

readonly contentControls: Word.ContentControlCollection;

Valor de propiedad

Comentarios

[ Conjunto de API: WordApi 1.1 ]

context

Contexto de solicitud asociado al objeto . Esto conecta el proceso del complemento al proceso de la aplicación host de Office.

context: RequestContext;

Valor de propiedad

font

Obtiene el formato de texto del control de contenido. Úselo para obtener y establecer el nombre de la fuente, el tamaño, el color y otras propiedades.

readonly font: Word.Font;

Valor de propiedad

Comentarios

[ Conjunto de API: WordApi 1.1 ]

id

Obtiene un entero que representa el identificador del control de contenido.

readonly id: number;

Valor de propiedad

number

Comentarios

[ Conjunto de API: WordApi 1.1 ]

inlinePictures

Obtiene la colección de objetos InlinePicture en el control de contenido. La colección no incluye imágenes flotantes.

readonly inlinePictures: Word.InlinePictureCollection;

Valor de propiedad

Comentarios

[ Conjunto de API: WordApi 1.1 ]

paragraphs

Obtiene la colección de objetos de párrafo en el control de contenido.

readonly paragraphs: Word.ParagraphCollection;

Valor de propiedad

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Importante: En el caso de los conjuntos de requisitos 1.1 y 1.2, no se devuelven los párrafos de las tablas totalmente contenidos dentro de este control de contenido. A partir del conjunto de requisitos 1.3, también se devuelven los párrafos de dichas tablas.

parentContentControl

Obtiene el control de contenido que contiene el control de contenido. Produce un ItemNotFound error si no hay un control de contenido primario.

readonly parentContentControl: Word.ContentControl;

Valor de propiedad

Comentarios

[ Conjunto de API: WordApi 1.1 ]

placeholderText

Especifica el texto del marcador de posición del control de contenido. Se mostrará texto atenuado cuando el control de contenido esté vacío.

placeholderText: string;

Valor de propiedad

string

Comentarios

[ Conjunto de API: WordApi 1.1 ]

removeWhenEdited

Especifica un valor que indica si el control de contenido se quita después de editarlo. Esta propiedad y cannotDelete son mutuamente excluyentes.

removeWhenEdited: boolean;

Valor de propiedad

boolean

Comentarios

[ Conjunto de API: WordApi 1.1 ]

style

Especifica el nombre de estilo del control de contenido. Use esta propiedad para los estilos personalizados y los nombres de estilo localizados. Para usar los estilos integrados portátiles entre configuraciones regionales, consulte la propiedad "styleBuiltIn".

style: string;

Valor de propiedad

string

Comentarios

[ Conjunto de API: WordApi 1.1 ]

tag

Especifica una etiqueta para identificar un control de contenido.

tag: string;

Valor de propiedad

string

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-content-controls.yaml

// Traverses each paragraph of the document and wraps a content control on each with either a even or odd tags.
await Word.run(async (context) => {
  let paragraphs = context.document.body.paragraphs;
  paragraphs.load("$none"); // Don't need any properties; just wrap each paragraph with a content control.

  await context.sync();

  for (let i = 0; i < paragraphs.items.length; i++) {
    let contentControl = paragraphs.items[i].insertContentControl();
    // For even, tag "even".
    if (i % 2 === 0) {
      contentControl.tag = "even";
    } else {
      contentControl.tag = "odd";
    }
  }
  console.log("Content controls inserted: " + paragraphs.items.length);

  await context.sync();
});

text

Obtiene el texto del control de contenido.

readonly text: string;

Valor de propiedad

string

Comentarios

[ Conjunto de API: WordApi 1.1 ]

title

Especifica el título de un control de contenido.

title: string;

Valor de propiedad

string

Comentarios

[ Conjunto de API: WordApi 1.1 ]

type

Obtiene el tipo de control de contenido. Actualmente solo se admiten controles de texto enriquecido, texto sin formato y contenido de casilla.

readonly type: Word.ContentControlType | "Unknown" | "RichTextInline" | "RichTextParagraphs" | "RichTextTableCell" | "RichTextTableRow" | "RichTextTable" | "PlainTextInline" | "PlainTextParagraph" | "Picture" | "BuildingBlockGallery" | "CheckBox" | "ComboBox" | "DropDownList" | "DatePicker" | "RepeatingSection" | "RichText" | "PlainText";

Valor de propiedad

Word.ContentControlType | "Unknown" | "RichTextInline" | "RichTextParagraphs" | "RichTextTableCell" | "RichTextTableRow" | "RichTextTable" | "PlainTextInline" | "PlainTextParagraph" | "Picture" | "BuildingBlockGallery" | "CheckBox" | "ComboBox" | "DropDownList" | "DatePicker" | "RepeatingSection" | "RichText" | "PlainText"

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Detalles del método

clear()

Borra el contenido del control de contenido. El usuario puede realizar la operación de deshacer en el contenido borrado.

clear(): void;

Devoluciones

void

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the content controls collection.
    contentControls.load('text');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
        
    if (contentControls.items.length === 0) {
        console.log("There isn't a content control in this document.");
    } else {
        // Queue a command to clear the contents of the first content control.
        contentControls.items[0].clear();

        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Content control cleared of contents.');
    }
});

delete(keepContent)

Elimina el control de contenido y su contenido. Si keepContent se establece en true, el contenido no se elimina.

delete(keepContent: boolean): void;

Parámetros

keepContent

boolean

Obligatorio. Indica si el contenido se debe eliminar con el control de contenido. Si keepContent se establece en true, el contenido no se elimina.

Devoluciones

void

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the content controls collection.
    contentControls.load('text');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
        
    if (contentControls.items.length === 0) {
        console.log("There isn't a content control in this document.");
    } else {            
        // Queue a command to delete the first content control. 
        // The contents will remain in the document.
        contentControls.items[0].delete(true);

        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Content control cleared of contents.'); 
    }
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-ondeleted-event.yaml

await Word.run(async (context) => {
  const contentControls: Word.ContentControlCollection = context.document.contentControls.getByTag("forTesting");
  contentControls.load("items");
  await context.sync();

  if (contentControls.items.length === 0) {
    console.log("There are no content controls in this document.");
  } else {
    console.log("Control to be deleted:", contentControls.items[0]);
    contentControls.items[0].delete(false);
    await context.sync();
  }
});

getHtml()

Obtiene una representación HTML del objeto de control de contenido. Cuando se representa en una página web o un visor HTML, el formato será una coincidencia cercana, pero no exacta, del formato del documento. Este método no devuelve exactamente el mismo HTML para el mismo documento en distintas plataformas (Windows, Mac, Word en la web, etc.). Si necesita fidelidad exacta o coherencia entre plataformas, use ContentControl.getOoxml() y convierta el XML devuelto en HTML.

getHtml(): OfficeExtension.ClientResult<string>;

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection that contains a specific tag.
    const contentControlsWithTag = context.document.contentControls.getByTag('Customer-Address');
    
    // Queue a command to load the tag property for all of content controls.
    contentControlsWithTag.load('tag');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControlsWithTag.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to get the HTML contents of the first content control.
        const html = contentControlsWithTag.items[0].getHtml();
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Content control HTML: ' + html.value);
    }
});

getOoxml()

Obtiene la representación Office Open XML (OOXML) del objeto de control de contenido.

getOoxml(): OfficeExtension.ClientResult<string>;

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to get the OOXML contents of the first content control.
        const ooxml = contentControls.items[0].getOoxml();
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Content control OOXML: ' + ooxml.value);
    }
});

insertBreak(breakType, insertLocation)

Inserta un salto en la ubicación especificada del documento principal. Este método no se puede usar con los controles de contenido "RichTextTable", "RichTextTableRow" y "RichTextTableCell".

insertBreak(breakType: Word.BreakType | "Page" | "Next" | "SectionNext" | "SectionContinuous" | "SectionEven" | "SectionOdd" | "Line", insertLocation: Word.InsertLocation.start | Word.InsertLocation.end | Word.InsertLocation.before | Word.InsertLocation.after | "Start" | "End" | "Before" | "After"): void;

Parámetros

breakType

Word.BreakType | "Page" | "Next" | "SectionNext" | "SectionContinuous" | "SectionEven" | "SectionOdd" | "Line"

Obligatorio. Tipo de interrupción.

insertLocation

start | end | before | after | "Start" | "End" | "Before" | "After"

Obligatorio. El valor debe ser "Start", "End", "Before" o "After".

Devoluciones

void

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of content controls.
    contentControls.load('id');
    
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    // We now will have access to the content control collection.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to insert a page break after the first content control.
        contentControls.items[0].insertBreak(Word.BreakType.page, Word.InsertLocation.after);
        
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Inserted a page break after the first content control.');    
    }
});

insertFileFromBase64(base64File, insertLocation)

Inserta un documento en el control de contenido en la ubicación especificada.

insertFileFromBase64(base64File: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;

Parámetros

base64File

string

Obligatorio. Contenido codificado en Base64 de un archivo .docx.

insertLocation

replace | start | end | "Replace" | "Start" | "End"

Obligatorio. El valor debe ser "Replace", "Start" o "End". 'Replace' no se puede usar con controles de contenido 'RichTextTable' y 'RichTextTableRow'.

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Nota: La inserción no se admite si el documento que se está insertando contiene un control ActiveX (probablemente en un campo de formulario). Considere la posibilidad de reemplazar este tipo de campo de formulario por un control de contenido u otra opción adecuada para su escenario.

insertHtml(html, insertLocation)

Inserta HTML en el control de contenido en la ubicación especificada.

insertHtml(html: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;

Parámetros

html

string

Obligatorio. HTML que se va a insertar en el control de contenido.

insertLocation

replace | start | end | "Replace" | "Start" | "End"

Obligatorio. El valor debe ser "Replace", "Start" o "End". 'Replace' no se puede usar con controles de contenido 'RichTextTable' y 'RichTextTableRow'.

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to put HTML into the contents of the first content control.
        contentControls.items[0].insertHtml(
            '<strong>HTML content inserted into the content control.</strong>',
            'Start');
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Inserted HTML in the first content control.');
    }
});

insertInlinePictureFromBase64(base64EncodedImage, insertLocation)

Inserta una imagen incorporada en el control de contenido en la ubicación especificada.

insertInlinePictureFromBase64(base64EncodedImage: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.InlinePicture;

Parámetros

base64EncodedImage

string

Obligatorio. Imagen codificada en Base64 que se va a insertar en el control de contenido.

insertLocation

replace | start | end | "Replace" | "Start" | "End"

Obligatorio. El valor debe ser "Replace", "Start" o "End". 'Replace' no se puede usar con controles de contenido 'RichTextTable' y 'RichTextTableRow'.

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.2 ]

insertOoxml(ooxml, insertLocation)

Inserta OOXML en el control de contenido en la ubicación especificada.

insertOoxml(ooxml: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;

Parámetros

ooxml

string

Obligatorio. OOXML que se va a insertar en el control de contenido.

insertLocation

replace | start | end | "Replace" | "Start" | "End"

Obligatorio. El valor debe ser "Replace", "Start" o "End". 'Replace' no se puede usar con controles de contenido 'RichTextTable' y 'RichTextTableRow'.

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to put OOXML into the contents of the first content control.
        contentControls.items[0].insertOoxml("<pkg:package xmlns:pkg='http://schemas.microsoft.com/office/2006/xmlPackage'><pkg:part pkg:name='/_rels/.rels' pkg:contentType='application/vnd.openxmlformats-package.relationships+xml' pkg:padding='512'><pkg:xmlData><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument' Target='word/document.xml'/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name='/word/document.xml' pkg:contentType='application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml'><pkg:xmlData><w:document xmlns:w='http://schemas.openxmlformats.org/wordprocessingml/2006/main' ><w:body><w:p><w:pPr><w:spacing w:before='360' w:after='0' w:line='480' w:lineRule='auto'/><w:rPr><w:color w:val='70AD47' w:themeColor='accent6'/><w:sz w:val='28'/></w:rPr></w:pPr><w:r><w:rPr><w:color w:val='70AD47' w:themeColor='accent6'/><w:sz w:val='28'/></w:rPr><w:t>This text has formatting directly applied to achieve its font size, color, line spacing, and paragraph spacing.</w:t></w:r></w:p></w:body></w:document></pkg:xmlData></pkg:part></pkg:package>", "End");
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Inserted OOXML in the first content control.');
    }
});  

// Read "Create better add-ins for Word with Office Open XML" for guidance on working with OOXML.
// https://learn.microsoft.com/office/dev/add-ins/word/create-better-add-ins-for-word-with-office-open-xml

insertParagraph(paragraphText, insertLocation)

Inserta un párrafo en la ubicación especificada.

insertParagraph(paragraphText: string, insertLocation: Word.InsertLocation.start | Word.InsertLocation.end | Word.InsertLocation.before | Word.InsertLocation.after | "Start" | "End" | "Before" | "After"): Word.Paragraph;

Parámetros

paragraphText

string

Obligatorio. Texto de párrafo que se va a insertar.

insertLocation

start | end | before | after | "Start" | "End" | "Before" | "After"

Obligatorio. El valor debe ser "Start", "End", "Before" o "After". 'Before' y 'After' no se pueden usar con los controles de contenido 'RichTextTable', 'RichTextTableRow' y 'RichTextTableCell'.

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to insert a paragraph after the first content control.
        contentControls.items[0].insertParagraph('Text of the inserted paragraph.', 'After');
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Inserted a paragraph after the first content control.');
    }
});  

insertText(text, insertLocation)

Inserta texto en el control de contenido en la ubicación especificada.

insertText(text: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;

Parámetros

text

string

Obligatorio. Texto que se va a insertar en el control de contenido.

insertLocation

replace | start | end | "Replace" | "Start" | "End"

Obligatorio. El valor debe ser "Replace", "Start" o "End". 'Replace' no se puede usar con controles de contenido 'RichTextTable' y 'RichTextTableRow'.

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to replace text in the first content control.
        contentControls.items[0].insertText('Replaced text in the first content control.', 'Replace');
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Replaced text in the first content control.');
    }
});  

// The Silly stories add-in sample shows how to use the insertText method.
// https://aka.ms/sillystorywordaddin

load(options)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(options?: Word.Interfaces.ContentControlLoadOptions): Word.ContentControl;

Parámetros

options
Word.Interfaces.ContentControlLoadOptions

Proporciona opciones para las propiedades del objeto que se van a cargar.

Devoluciones

Ejemplos

// Load all of the content control properties
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    } else {
        // Queue a command to load the properties on the first content control.
        contentControls.items[0].load(  'appearance,' +
                                        'cannotDelete,' +
                                        'cannotEdit,' +
                                        'id,' +
                                        'placeHolderText,' +
                                        'removeWhenEdited,' +
                                        'title,' +
                                        'text,' +
                                        'type,' +
                                        'style,' +
                                        'tag,' +
                                        'font/size,' +
                                        'font/name,' +
                                        'font/color');             
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Property values of the first content control:' + 
            '   ----- appearance: ' + contentControls.items[0].appearance + 
            '   ----- cannotDelete: ' + contentControls.items[0].cannotDelete +
            '   ----- cannotEdit: ' + contentControls.items[0].cannotEdit +
            '   ----- color: ' + contentControls.items[0].color +
            '   ----- id: ' + contentControls.items[0].id +
            '   ----- placeHolderText: ' + contentControls.items[0].placeholderText +
            '   ----- removeWhenEdited: ' + contentControls.items[0].removeWhenEdited +
            '   ----- title: ' + contentControls.items[0].title +
            '   ----- text: ' + contentControls.items[0].text +
            '   ----- type: ' + contentControls.items[0].type +
            '   ----- style: ' + contentControls.items[0].style +
            '   ----- tag: ' + contentControls.items[0].tag +
            '   ----- font size: ' + contentControls.items[0].font.size +
            '   ----- font name: ' + contentControls.items[0].font.name +
            '   ----- font color: ' + contentControls.items[0].font.color);
    }
});  

load(propertyNames)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNames?: string | string[]): Word.ContentControl;

Parámetros

propertyNames

string | string[]

Una cadena delimitada por comas o una matriz de cadenas que especifican las propiedades que se van a cargar.

Devoluciones

load(propertyNamesAndPaths)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Word.ContentControl;

Parámetros

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select es una cadena delimitada por comas que especifica las propiedades que se van a cargar y propertyNamesAndPaths.expand es una cadena delimitada por comas que especifica las propiedades de navegación que se van a cargar.

Devoluciones

search(searchText, searchOptions)

Realiza una búsqueda con las SearchOptions especificadas en el ámbito del objeto de control de contenido. Los resultados de la búsqueda son una colección de objetos de intervalo.

search(searchText: string, searchOptions?: Word.SearchOptions | {
            ignorePunct?: boolean;
            ignoreSpace?: boolean;
            matchCase?: boolean;
            matchPrefix?: boolean;
            matchSuffix?: boolean;
            matchWholeWord?: boolean;
            matchWildcards?: boolean;
        }): Word.RangeCollection;

Parámetros

searchText

string

Obligatorio. Texto de búsqueda.

searchOptions

Word.SearchOptions | { ignorePunct?: boolean; ignoreSpace?: boolean; matchCase?: boolean; matchPrefix?: boolean; matchSuffix?: boolean; matchWholeWord?: boolean; matchWildcards?: boolean; }

Opcional. Opciones de la búsqueda.

Devoluciones

Comentarios

[ Conjunto de API: WordApi 1.1 ]

Ejemplos

// Run a batch operation against the Word object model.
await Word.run(async (context) => {
    
    // Create a proxy object for the content controls collection.
    const contentControls = context.document.contentControls;
    
    // Queue a command to load the id property for all of the content controls.
    contentControls.load('id');
     
    // Synchronize the document state by executing the queued commands, 
    // and return a promise to indicate task completion.
    await context.sync();
    if (contentControls.items.length === 0) {
        console.log('No content control found.');
    }
    else {
        // Queue a command to select the first content control.
        contentControls.items[0].select();
    
        // Synchronize the document state by executing the queued commands, 
        // and return a promise to indicate task completion.
        await context.sync();
        console.log('Selected the first content control.');
    }
});  

select(selectionMode)

Selecciona el control de contenido. Esto hace que Word se desplace hasta la selección.

select(selectionMode?: Word.SelectionMode): void;

Parámetros

selectionMode
Word.SelectionMode

Opcional. El modo de selección debe ser "Seleccionar", "Iniciar" o "Finalizar". 'Select' es el valor predeterminado.

Devoluciones

void

Comentarios

[ Conjunto de API: WordApi 1.1 ]

select(selectionModeString)

Selecciona el control de contenido. Esto hace que Word se desplace hasta la selección.

select(selectionModeString?: "Select" | "Start" | "End"): void;

Parámetros

selectionModeString

"Select" | "Start" | "End"

Opcional. El modo de selección debe ser "Seleccionar", "Iniciar" o "Finalizar". 'Select' es el valor predeterminado.

Devoluciones

void

Comentarios

[ Conjunto de API: WordApi 1.1 ]

set(properties, options)

Establece varias propiedades de un objeto al mismo tiempo. Puede pasar un objeto sin formato con las propiedades adecuadas u otro objeto de API del mismo tipo.

set(properties: Interfaces.ContentControlUpdateData, options?: OfficeExtension.UpdateOptions): void;

Parámetros

properties
Word.Interfaces.ContentControlUpdateData

Objeto JavaScript con propiedades estructuradas isomórficamente con las propiedades del objeto al que se llama al método.

options
OfficeExtension.UpdateOptions

Proporciona una opción para suprimir errores si el objeto properties intenta establecer propiedades de solo lectura.

Devoluciones

void

Ejemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-content-controls.yaml

// Adds title and colors to odd and even content controls and changes their appearance.
await Word.run(async (context) => {
  // Get the complete sentence (as range) associated with the insertion point.
  let evenContentControls = context.document.contentControls.getByTag("even");
  let oddContentControls = context.document.contentControls.getByTag("odd");
  evenContentControls.load("length");
  oddContentControls.load("length");

  await context.sync();

  for (let i = 0; i < evenContentControls.items.length; i++) {
    // Change a few properties and append a paragraph.
    evenContentControls.items[i].set({
      color: "red",
      title: "Odd ContentControl #" + (i + 1),
      appearance: Word.ContentControlAppearance.tags
    });
    evenContentControls.items[i].insertParagraph("This is an odd content control", "End");
  }

  for (let j = 0; j < oddContentControls.items.length; j++) {
    // Change a few properties and append a paragraph.
    oddContentControls.items[j].set({
      color: "green",
      title: "Even ContentControl #" + (j + 1),
      appearance: "Tags"
    });
    oddContentControls.items[j].insertHtml("This is an <b>even</b> content control", "End");
  }

  await context.sync();
});

set(properties)

Establece varias propiedades en el objeto al mismo tiempo, en función de un objeto cargado existente.

set(properties: Word.ContentControl): void;

Parámetros

properties
Word.ContentControl

Devoluciones

void

toJSON()

Invalida el método JavaScript toJSON() para proporcionar una salida más útil cuando se pasa un objeto de API a JSON.stringify(). (JSON.stringifya su vez, llama al toJSON método del objeto que se le pasa). Mientras que el objeto original Word.ContentControl es un objeto de API, el toJSON método devuelve un objeto JavaScript sin formato (escrito como Word.Interfaces.ContentControlData) que contiene copias superficiales de las propiedades secundarias cargadas del objeto original.

toJSON(): Word.Interfaces.ContentControlData;

Devoluciones

track()

Realiza un seguimiento del objeto de ajuste automático según cambios adyacentes en el documento. Esta llamada es una abreviatura para context.trackedObjects.add(thisObject). Si usa este objeto entre .sync llamadas y fuera de la ejecución secuencial de un lote ".run" y obtiene un error "InvalidObjectPath" al establecer una propiedad o invocar un método en el objeto, debe agregar el objeto a la colección de objetos de seguimiento cuando se creó el objeto por primera vez. Si este objeto forma parte de una colección, también debe realizar un seguimiento de la colección primaria.

track(): Word.ContentControl;

Devoluciones

untrack()

Libere la memoria asociada a este objeto, si se ha realizado un seguimiento de él anteriormente. Esta llamada es abreviada para context.trackedObjects.remove(thisObject). Tener muchos objetos marcados ralentiza la aplicación host, así que debe recordar liberar los objetos que agregue cuando haya terminado con ellos. Tendrá que llamar context.sync() a antes de que la versión de memoria surta efecto.

untrack(): Word.ContentControl;

Devoluciones