Interop.Word 不显示实际语言
Interop.Word does not show actual language
我在 MS Word 中将语言从英语(美国)更改为英语(英国):
然后单击加载项上的按钮,运行以下代码以读取语言:
var appLanguage = Globals.ThisAddIn.Application.Language;
var docLanguage = Globals.ThisAddIn.Application.ActiveDocument.Content.LanguageID;
Debug.WriteLine($"Application.Language: {appLanguage.ToString()}");
Debug.WriteLine($"Content.LanguageID: {docLanguage.ToString()}");
输出:
Application.Language: msoLanguageIDEnglishUS
Content.LanguageID: wdEnglishUS
如您所见,它说语言仍然是英语(美国)。
如何正确阅读文档语言?
尝试使用范围 class 的 LanguageID
。
ActiveDocument.Range.LanguageID
此外,我建议在 Word 中使用 VBA 宏录制器,以确保在更改文档语言时应使用哪个 属性。
我在 MS Word 中将语言从英语(美国)更改为英语(英国):
然后单击加载项上的按钮,运行以下代码以读取语言:
var appLanguage = Globals.ThisAddIn.Application.Language;
var docLanguage = Globals.ThisAddIn.Application.ActiveDocument.Content.LanguageID;
Debug.WriteLine($"Application.Language: {appLanguage.ToString()}");
Debug.WriteLine($"Content.LanguageID: {docLanguage.ToString()}");
输出:
Application.Language: msoLanguageIDEnglishUS
Content.LanguageID: wdEnglishUS
如您所见,它说语言仍然是英语(美国)。
如何正确阅读文档语言?
尝试使用范围 class 的 LanguageID
。
ActiveDocument.Range.LanguageID
此外,我建议在 Word 中使用 VBA 宏录制器,以确保在更改文档语言时应使用哪个 属性。