2017-05-09 5 views
0

Bezogen auf meine frühere Frage - "Word Addin funktioniert nicht auf Word online". Scheint, dass es nicht so einfach ist, contentControls in Kopf- oder Fußzeile zu setzen. Habe mit Worddocuments mit Everything drin versucht - Kopfzeileninhalt und Fußzeileninhalt sind bereits enthalten, und mit contentControls in beiden. Jetzt enthalten die Dokumente nur 1 contentControler nur unter dem Header. Dann füge ich in den Code den Kopf- und Fußzeileninhalt als ooxml - insertOoxml ein - du kannst es im Code der vorherigen Frage sehen."Word Addin funktioniert nicht auf Word online" - Für Word online, ist es möglich, xmlfiles - die contentControls enthalten in Fußzeile enthalten?

EDIT: Die neuen footer.xml

Antwort

0

Ja, unsere reiche API (insertOoxml) verwendet werden kann, Inhaltskontrolle in Kopf-/Fußzeilen einfügen.

Und die Voraussetzung ist, dass die ooxml Zeichenfolge die Information über die Inhaltskontrolle haben sollte.

Zum Beispiel können wir die GetOoxml verwenden, um die OOXML-Zeichenfolge zu erhalten, die das Inhaltssteuerelement enthält.

+0

Ok - Ja, es funktioniert jetzt mit der Kopf- und Fußzeile. Der Header ist kein Problem bei allem Teig Ich denke, du kannst die XML-Datei weiter entfernen. Die Fußzeile wird von Tabs und anderen Dingen gereinigt, so dass dies auch kein Problem darstellt. Mein Szenario ist jetzt so. Öffnen Sie ein neues Dokument in Word online, öffnen Sie upp addin, erhalten Sie ein leeres Dokument und wählen Sie doc aus dem Dropdown-Menü. Dann beginnt eine lange Prozedur mit mehreren Ladevorgängen. zuerst das doc, dann header und footer. Problem ist, dass nur das contentControl im body als Eingabefeld angezeigt wird. Wenn Sie ein anderes Dokument wählen, startet der Ladevorgang erneut – MangeD66

+0

Nach einem langen Ladevorgang. du bekommst jetzt die eingabefelder, aber der body contentControl wird nicht aktualisiert - also wenn du darauf klickst ändert es sich, aber dann wird es alles komisch. Wenn du unten klickst, verschwindet es und du kannst nichts in doc-body eingeben. Yo hast ein simillar Verfahren wenn du etwas in die Eingabefelder einen klick eingibst. Sie erhalten die Eingabe, aber Sie können es nicht sofort sehen. – MangeD66

+0

Entschuldigung, ich kann das Problem nicht wiederholen, das Sie oben gesagt haben. Aber ich denke, dass dies durch die Reihenfolge des Skriptcodes verursacht wurde. Wir schlagen vor, dass Sie nur eine Operation in einem Stapel einschließen und 'context.sync(). Then()' zum Verketten verschiedener Stapel verwenden. – Jiajia

Verwandte Themen