我对我们公司的 Normal.dotm 有疑问,该文件与styles.xml
. 如果您有兴趣,可以在此处找到该问题的历史记录。我们不能只替换整个模板而不覆盖自定义样式/宏等。我几乎没有使用 OpenXML 的经验,但我认为它可能会解决这个问题。但是,我发现的所有文章和教程都没有太大帮助。它们都引用了“文档”部分,并专注于更改内容而不是元素和属性。
基本上,我需要遍历每个<w:rFonts>
元素并将w:eastAsia
属性从更改"Times New Roman"
为"MS Mincho."
这是我唯一有信心的部分:
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Packaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace eastAsiaFix
{
class Program
{
static void Main(string[] args)
{
using (WordprocessingDocument myDocument = WordprocessingDocument.Open(@"C:\users\" + Environment.UserName + @"\Desktop\eastAsiaFix.dotm", true))
{
StyleDefinitionsPart styles = myDocument.MainDocumentPart.StyleDefinitionsPart;
if (styles == null)
{
return;
}
}
}
}
}
我认为我需要的是以下内容:
foreach (OpenXMLElement theStyle in styles.Styles.ChildElements)
{
if (theStyle.LocalName = "style")
{
theStyle.StyleRunProperties.RunFonts.EastAsia.Value = "MS Mincho"; //faking this
}
}
如何到达w:rFonts
节点并编辑eastAsia
属性?