gpt4 book ai didi

javascript - 获取 header 的 OOXML

转载 作者:行者123 更新时间:2023-12-01 02:18:38 25 4
gpt4 key购买 nike

我无法获取 header 的 OOXML。根据documentation getHeader”方法将返回 Body 类型。 Body 有一个获取 OOXML 的方法。但看起来它没有返回 OOXML。也许我错过了一些东西?

这是我的代码:

Word.run(function (context) {

// Create a proxy sectionsCollection object.
var mySections = context.document.sections;

// Queue a commmand to load the sections.
context.load(mySections, 'body/style');

// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
return context.sync().then(function () {

// header
var headerBody = mySections.items[0].getHeader("primary");

// header OOXML
//// NOT GETTING OOXML HERE
var headerOOXML = headerBody.getOoxml();

// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
return context.sync().then(function () {

// modify header
var headerOOXMLValue = ModifyHeaderMethod(headerOOXML.value);

headerBody.clear();
headerBody.insertOoxml(headerOOXMLValue, 'Start');


// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
return context.sync().then(function () {
callBackFunc({
isError: false
});
});

});
});
})

最佳答案

Office.js 的“艺术”是最大限度地减少“同步”次数。我知道这是一种不必要的负担,但事实就是如此。

考虑到这一点,在这种情况下您只需要一次同步。这段代码有效(假设文档中只有一个部分)。顺便说一句,你可以在脚本实验室中尝试使用此 yaml .

如果这不起作用,请指出这是 Windows 版 Word(以及什么版本)、在线版还是 Mac 版...谢谢!

async function run() {
await Word.run(async (context) => {
let myOOXML = context.document.sections.getFirst()
.getHeader("primary").getOoxml();

await context.sync();
console.log(myOOXML.value);

});
}

关于javascript - 获取 header 的 OOXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49367316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com