以编程方式设置MS Office语言(VBA / VB / API)

时间:2013-12-20 16:37:44

标签: vba winapi vb6 ms-office

MS office程序具有各种文档和应用程序特定的语言设置。这不是关于那些。这是关于您通过Microsoft Office 2010语言首选项程序或通过调用相同对话框的应用程序内对话框访问的语言设置(例如,在Word / PPT中查看|语言|语言首选项)。

我正在寻找一种在程序控制下访问相同功能的方法。

为什么呢?因为当您使用MS提供的对话框更改语言时,MS会仔细地删除所有Outlook和Word自定义项(将Normal.dotm和NormalEmail.dotm文件重命名为Normal.dotm.old和NormalEmail.dotm.old,但不会当你改回原来的语言时,似乎能够恢复它们。)

结果:更改语言,您丢失了QuickPart以及其他可能的内容。这是不可接受的。

如果我可以通过自己的工具控制语言设置,我认为首先将现有的自定义设置保存为例如儿童游戏。 Normal.dotm.1033如果我目前设置为英语(美国),如果我稍后将语言更改回英语(美国),将该文件复制回Normal.dotm,从而恢复我的美国英语自定义。

1 个答案:

答案 0 :(得分:1)

我想我已经找到了。对于Office 2010:

HKEY_CURRENT_USER \软件\微软\办公室\ 14.0 \ COMMON \ LanguageResources

InstallLanguage DWORD 将其值设置为LangID

当您使用Office语言工具或Office应用程序中的对话框更改默认语言时,这就是注册表中的更改。它还将此更改为以前默认语言的LangID:

PreviousInstallLanguage