如何获得一个shell脚本化的变化,被一个打开的应用程序识别

我有一个特殊的问题,因为在Mac OSX 10.10 VBA/Excel 2011影响date格式的错误。

我发现我可以通过将Region设置(在SystemPreferences / Language & Region )更改为非GMT语言环境来解决该问题。 例如,如果我将地区从United Kingdom更改为Italy则不会发生该错误。

我一直在开发一个运行AppleScript的macros,然后运行一个shell脚本,使用默认实用程序更改设置。 我使用的shell脚本是这样的:

 defaults write NSGlobalDomain AppleLocale en_GB 

打算在打开Excel时, AppleLocale的值被改变,错误消失,然后在结束时, AppleLocale的值被恢复到之前的状态。

打开Excel AppleLocale编程方式更改AppleLocale的设置可以正常工作。 但是,如果我然后重新启动应用程序,Excel只会select此更改。 但是,如果使用“系统首选项”GUI更改“区域”设置,则无需重新启动Excel即可识别更改。

我真的想要避免GUI脚本,所以我想知道是否有一些聪明的BOD在那里可能知道为什么这个脚本的变化不被识别。 我可以做其他事情来强制Excel识别系统更改吗?