Solución de problemas de complementos de Word

En este artículo se describe la solución de problemas que son únicos para Word. Use la herramienta de comentarios al final de la página para sugerir otros problemas que se pueden agregar al artículo.

Por diseño, el método Body.insertFileFromBase64 excluye cualquier encabezado o pie de página que estuviera en el archivo de origen.

Para incluir los encabezados o pies de página del archivo de origen, use Document.insertFileFromBase64 en su lugar.

El diseño se interrumpe al usar insertHtml mientras el cursor está en el control de contenido en el encabezado

Este problema puede producirse cuando se cumplen las tres condiciones siguientes.

  1. Tenga al menos un control de contenido en el encabezado y al menos uno en el pie de página del documento Word.
  2. Asegúrese de que el cursor está dentro de un control de contenido en el encabezado.
  3. Llame a insertHtml para establecer un control de contenido en el pie de página.

A continuación, el pie de página se mezcla inesperadamente con el encabezado . Para evitarlo, borre el control de contenido en el pie de página antes de establecerlo, como se muestra en el ejemplo de código siguiente.

await Word.run(async (context) => {
    // Credit to https://github.com/barisbikmaz for this version of the workaround.
    // For more information, see https://github.com/OfficeDev/office-js/issues/129.

    // Let's say there are 2 content controls in the header and 1 in the footer.
    const contentControls = context.document.contentControls;
    contentControls.load();

    await context.sync().then(function () {
        // Clear the 2 content controls in the header.
        contentControls.items[0].clear(); 
        contentControls.items[1].clear();

        // Clear the control control in the footer then update it.
        contentControls.items[2].clear();
        contentControls.items[2].insertHtml('<p>New Footer</p>', 'Replace');
    });
});

Significado de los valores de propiedad null en la respuesta

nulltiene implicaciones especiales en las API de JavaScript de Word. Se usa para representar valores predeterminados o sin formato.

Las propiedades de formato, como el color , contendrán null valores en la respuesta cuando existan valores diferentes en el intervalo especificado. Por ejemplo, si recupera un rango y carga su propiedad range.font.color:

  • Si todo el texto del rango tiene el mismo color de fuente, range.font.color especifica ese color.
  • Si hay varios colores de fuente dentro del rango, range.font.color es null.

Vea también