You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSTO Word调用AutoCorrect.Entries.Add添加多语言自动更正条目仅最后一种生效

Word VSTO AutoCorrect多语言条目写入Bug说明

我们发现Word的VSTO存在一个bug:
使用AutoCorrect.Entries.Add方法添加新条目时,条目仅暂存在内存中,只有当Word关闭或释放时才会被写入词典文件。
但问题在于:在同一个Word实例中为多种语言添加条目时,仅最后一种语言的条目会被成功写入词典文件。

复现代码示例

初始实现版本

using var wordApplication = new ApplicationClass();
foreach (var languageId in languageIds)
{
    var wordDoc = wordApplication.Documents.Add();
    wordDoc.Range().InsertAfter("Text");
    wordDoc.Range().LanguageID = languageId;
    foreach (var entry in addedEntries)
    {
        wordApplication.AutoCorrect.Entries.Add(entry.Item1, entry.Item2);
    }
    wordDoc.Close(false);
}

简化验证版本

我们也尝试了如下简化版本,最终运行结果一致:

using var wordApplication = new ApplicationClass();
foreach (var languageId in languageIds)
{
    wordApplication.ActiveDocument.Content.LanguageID = languageId;
    foreach (var entry in addedEntries)
    {
        wordApplication.AutoCorrect.Entries.Add(entry.Item1, entry.Item2);
    }
}

问题表现

调试两段代码时可以看到,wordApplication.AutoCorrect.Entries中包含我们遍历添加的所有语言的新条目,但循环结束后关闭Word时,仅最后一种语言的条目被写入磁盘,其余语言的词典未被修改,对应条目全部丢失。
直接在设备上打开Word验证,也确认仅最后一种语言存在新增的自动更正条目,其余语言均无对应条目。

内容的提问来源于stack exchange,提问作者MuffyOne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:39:03