Estoy tratando de controlar la lista de Control de contenido existente dentro de un documento de Word con el marco de complemento office.js, pero no puedo hacerlo. Incluso intenté agregar mi propio Control de contenido y luego solicité Control de contenido, pero la API no responde. A continuación se muestra mi fragmento de código.
Agradecería si puede aconsejarme cómo puedo obtener una lista de todos los controles de contenido dentro del documento de Word. FYI, usar getByTag() tampoco funcionó.
Office.onReady((info) => { document.getElementById("host-info").innerText = info.host.toString(); document.getElementById("sideload-msg").style.display = "none"; document.getElementById("app-body").style.display = "flex"; document.getElementById("run").onclick = run; document.getElementById("count-controls").onclick = countControls; }); export async function run() { return Word.run(async (context) => { /** * Insert your Word code here */ const text = context.document.body.insertText("FIlling some random text ", Word.InsertLocation.start); text.font.underline = Word.UnderlineType.dotDashLineHeavy; const controls = text.insertContentControl(); controls.title = "My text"; controls.tag = "#mytext"; controls.appearance = "Tags"; controls.color = "red"; await context.sync(); }); } export async function countControls() { console.log("In Count Controls"); return Word.run(async (context) => { let numberOfControls = context.document.contentControls.items.length; // <-- This line fails to respond with any content const para = context.document.body.insertParagraph( "Number of controls: " + numberOfControls, Word.InsertLocation.end ); para.font.color = "blue"; await context.sync(); }).catch((error) => { console.log("Error: " + JSON.stringify(error)); if (error instanceof OfficeExtension.Error) { console.log("Debug info: " + JSON.stringify(error.debugInfo)); } }); }Debe cargar elementos antes de leer su longitud:
let contentControls = context.document.contentControls; contentControls.load('items'); await context.sync(); let numberOfControls = contentControls.items.length;