Ich versuche, eine neue Zeile in eine Tabelle in Word einzufügen und den Inhalt der Zellen in der neuen Zeile zu ändern. Das Problem, das ich habe, ist, dass nach dem Einfügen der Zeile das Wort api keine Zellen in der neuen Zeile finden kann. Im Folgenden habe ich eine sehr vereinfachte Version meines Codes hinzugefügt.Table.getCell() funktioniert nicht auf Zelle in neu eingefügte Zeile
await Word.run(async(context) => {
let table = context.document.body.tables.getFirstOrNullObject();
context.load(table, {
expand: "rows/items/cells/items/body"
})
await context.sync();
let row = table.rows.items[table.rowCount - 1];
row.insertRows("After", 1);
await context.sync();
let cell = table.getCell(2, 0); //throws "ItemNotFound" exception
cell.body.insertText("test", "Replace");
await context.sync();
});
Gibt es eine Möglichkeit, das funktioniert zu bekommen oder ist das ein Fehler?
(bitte schlagen nicht die Werte Parameter auf Einfügezeile Verwendung als meine eigentliche Code ist viel komplizierter)
Ich habe bereits versucht, diese und das Problem nicht beheben. Zusätzliche Information ist, dass ich anfänglich eine Tabelle von 2 Zeilen habe und eine Zelle in der letzten (neuen) Zeile ändern möchte – Nick
Odd. Ich konnte deinen Fehler in ScriptLab replizieren. Hinzufügen von 'context.load (Tabelle, {expand:" rows/items/cells/items/body "});' vor dem Aufruf von 'sync()' löste es. Haben Sie nach dem Hinzufügen dieser Zeile den gleichen Fehler erhalten? –
Ja, aber wenn ich mehr als 2 Zeilen in meiner ursprünglichen Tabelle in meinem Dokument habe, dann funktioniert es gut. Ich habe einige zusätzliche Tests durchgeführt und dein zweiter Vorschlag funktioniert für mich (Laden der neu hinzugefügten Zeile). Das Laden der gesamten Tabelle und das Abrufen einer Zelle der neu hinzugefügten Zeile aus der Tabellenebene funktioniert nicht. – Nick