gpt4 book ai didi

c# 在 MS Word 中比较样式对象

转载 作者:行者123 更新时间:2023-12-05 04:03:17 25 4
gpt4 key购买 nike

我必须编辑 word 文档中的所有标题。

我试过这个:

Word.WdBuiltinStyle[] styleArray = {
Word.WdBuiltinStyle.wdStyleHeading1,
Word.WdBuiltinStyle.wdStyleHeading2,
Word.WdBuiltinStyle.wdStyleHeading3,
Word.WdBuiltinStyle.wdStyleHeading4,
Word.WdBuiltinStyle.wdStyleHeading5,
Word.WdBuiltinStyle.wdStyleHeading6,
Word.WdBuiltinStyle.wdStyleHeading7,
Word.WdBuiltinStyle.wdStyleHeading8,
Word.WdBuiltinStyle.wdStyleHeading9
};

foreach (Word.Paragraph paragraph in Globals.ThisAddIn.Application.ActiveDocument.Paragraphs)
{
if (styleArray.Any(a => a.Equals((Word.WdBuiltinStyle)paragraph.Range.get_Style())))
{
paragraph.Range.Font.Size = size;
paragraph.Range.Font.Name = font;
}
}

但它说我不能转换,我觉得这不是一个很好的方法。

它也不适用于

if (styleArray.Contains(paragraph.Range.get_Style()))

请问有什么帮助吗?

最佳答案

内置样式枚举与实际样式之间存在差异。这就是比较不起作用的原因。该数组需要是样式 的数组。例如:

Word.Document doc = Globals.ThisAddin.Application.ActiveDocument;
enter code here
Word.Style[] styleArray = {
doc.Styles(Word.WdBuiltinStyle.wdStyleHeading1),
doc.Styles(Word.WdBuiltinStyle.wdStyleHeading2),
doc.Styles(Word.WdBuiltinStyle.wdStyleHeading3) //and so on
};

关于c# 在 MS Word 中比较样式对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53628979/

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