【发布时间】:2017-06-26 14:35:09
【问题描述】:
注意:与断言相反,这个问题不是重复的。我的问题被标记为 ms-word 并且提出的建议指向 ms-excel 答案,在这种情况下不适用。 Word VBA != Excel VBA。
我需要让德国的用户生成英语 Word 2016 文档,但日期以德语月份和日期名称的欧洲风格出现。我们需要它们以英文日期样式和名称的形式出现。
我知道内容控件和日期选择器,尽管目前这不是一个选项(将来可能会)。更改其本地区域设置也不是一种选择(显然是德语)。出于我不会在这里讨论的原因,由于遗留原因,我们仅限于 .DOC 格式。
在 VBScript 函数 GetLocale 和 SetLocal 中发生。在 VBScript 的上下文中完美运行...
问题是我如何能够将 VBScript 引用为 DLL 并在 Office VBA 模块中使用该功能?不幸的是,它没有内置在 Office VBA 中。
我尝试从 SYSWow64 文件夹中引用 VBScript.dll,但它唯一暴露的是 VBScript_Global.GlobalObj 和 SetLocale,GetLocale 不可用(它仍然在最新文档中被引用,它没有被弃用。 https://msdn.microsoft.com/en-us/library/5xf99h19(v=vs.84).aspx)。
任何帮助将不胜感激。
【问题讨论】:
-
那个问题和回答是指 Excel VBA 和评估功能,Word VBA 没有这些功能。我的问题被标记为 ms-word 谢谢。
-
在这种情况下,答案是否定的,抱歉。看起来好像您正在使用 VBA,您应该可以访问 VBScript 不允许的 Windows API。使用 Windows API 没有什么不能做的。
-
在 Word 中,用于日期的语言应反映应用于文档的语言格式。很可能,鉴于您所看到的,这是德语。诀窍是将这些文档格式化为“英语”。不幸的是,这并不是一个应有的简单过程。你会在这里找到一些提示:homepage.swissonline.ch/cindymeister/LangFmt.htm
-
谢谢辛迪。这可能会有所帮助,尽管现在有点过时了。