我正在使用Office.js API为Word开发新的插件。
默认情况下,当我使用Word中的默认用户界面应用“普通”样式时,它会保留段落中的所有其他格式样式(粗体,斜体,字符样式......),并且正如预期的那样,它仅将段落样式更改为“正常” “
我试图模仿将“正常”样式应用到段落的功能 编程。
我有这段代码:
function applyStyleParagraph(styleName) {
Word.run(function(context) {
var pars = context.document.getSelection().paragraphs;
context.load(pars, 'style');
return context.sync().then(function () {
for (var i = 0; i < pars.items.length; i++) {
pars.items[i].style = styleName;
}
return context.sync().then(function () {
console.log('Style: ' + styleName + ' / Style paragraph created');
});
})
}).catch(function(error) {
console.log(error);
if (error instanceof OfficeExtension.Error) {
console.log('Style: ' + styleName +
' / Debug info: ' + JSON.stringify(error.debugInfo));
}
});
}
结果是删除了所有其他格式样式(粗体,斜体,打击,字符样式)。
¿如何保留所有其他格式样式?
此问题影响Word在线Word 2016。
答案 0 :(得分:0)
您可能会知道Word的正常行为是发生了什么-您将段落样式应用于段落,它将删除(我们称之为“所有手动格式”)格式化-通过字体按钮等应用的格式主页标签,例如粗体,斜体,更改颜色,字体名称+大小等
Rick Kirkham建议您创建并应用字符样式(对于字符而不是段落)时,他赚了很多钱-即内置字体的粗体为Strong,斜体为Emphasis,我创建了自定义字符强调品牌色彩文字的样式。
我找到了这篇文章,是因为我是一位VB / VBA开发人员,试图将我的宏转换为Office.js并努力了解如何将字符样式应用于选定的字符集-我似乎只能将段落样式-我的代码将忽略所选单词。 rr如果找不到答案,会将其作为一个单独的问题发布。