在不同的区域设置中运行Excel /更改系统区域设置



我试图找到一种方法来改变区域设置时打开Excel,或改变整个系统区域设置。我知道这样做是不好的做法,所以我只说明这纯粹是出于自动化测试的原因。我们想要运行我们的Excel插件模拟多个不同的地区设置,以确保它正确处理所有功能(如果有比更改设置更好的方法,请让我知道!)

我知道如何改变线程的CurrentCulture,但这似乎只适用于我们的外接程序,所以我们的外接程序调用的Excel函数与系统区域设置一起运行。

我发现有三种方法我认为可能会使这个工作,但其中一个似乎是一个疯狂的坏主意,另外两个我无法使其工作:

    真正糟糕的是在打开Excel之前导入一个。reg文件到系统注册表中,但我不喜欢这个想法。
  • 另一种方法似乎是使用SetLocaleInfo,从kernel32.dll导入,但对于我的生命,我无法找出使用的参数,或者即使这是我所需要的。
  • 最后一种方法是使用微软的AppLocale工具,但是通过不同的语言设置打开它似乎没有达到我预期的效果。实际上,它似乎并没有改变我当前的系统设置!

如果有人能提供任何帮助,我将不胜感激,否则我猜这些只是作为手工测试留下的!

我建议在您的计算机上创建几个用户,并根据您在控制面板->区域和语言中的每个用户的测试目的调整用户区域设置。这基本上允许设置默认语言,以及货币/数字/日期/时间格式。如果这是你想要的,你可以通过runas命令使用不同的用户执行上下文启动excel,这需要手动输入密码,或者在批处理模式下使用SysInternals中的psexec工具:http://technet.microsoft.com/en-us/sysinternals/bb897553

确保指定加载帐户配置文件的命令行选项。不幸的是,您只能为每个用户调整用户区域设置。系统区域设置是每台计算机定义的。

这里有一个如何从。net调用SetLocaleInfo的完整示例。为了简洁,我就不复制了,它是

http://took1.googlecode.com/svn-history/r87/trunk/Code/App.Dev/SetLocale.cs

相关内容

  • 没有找到相关文章

最新更新