我有一个MS Word模板,其中我有一个日期时间内容控件。我在从UI更改语言后,单击按钮设置日期。
这就是我做的......
foreach (var cc in dateCCs.Where(cc => cc.ContentControl.Type == Word.WdContentControlType.wdContentControlDate))
{
cc.ContentControl.DateDisplayFormat = lng.DateFormat;
cc.ContentControl.DateDisplayLocale = (Word.WdLanguageID)lng.CorrectionLanguage;
}
现在,当我更改语言时,内容控件的区域设置会被更改,但格式不会更改。有人可以帮我吗?
以下是答案 1)请描述如何在Word模板中创建(se)内容控件(设置); 我不知道。它们在模板中。
2)你的代码片段中有什么内容; lng是一个包含上述两个属性的数据库对象映射器。
3)请提供您开始使用的语言和日期格式的示例 英语日期格式为d MMMM yyyy,德语日期格式为d。 MMMM yyyy(注意点)
4)您对最终结果的期望 我希望内容控件更改日期格式,就像更改区域设置一样。
进一步的调查结果表明,这与Word的编辑语言有关。这是场景。
如果我的编辑语言是丹麦语。当我尝试将DateDisplayFormat设置为Deutsch(德语)时,它不会发生变化。
如果我的编辑语言是Deutsch。反之亦然
但如果我的编辑语言是英国英语。效果很好。
这是MS Word中的错误吗?
答案 0 :(得分:0)
由于您使用的是长日期格式(拼写了月份),因此当您更改区域设置时,Word无法将内容识别为有效日期。例如,März和March。
因此,您需要做的是首先将显示日期更改为与语言无关的“中性”格式,然后再更改区域设置,然后再显示数据。
例如:
cc.DateDisplayFormat = "d-M-yyyy"
cc.DateDisplayLocale = 2055 'Swiss German
cc.DateDisplayFormat = "d. MMMM yyyy"