VBScript、GetLocale、SetLocale - 其他用途

2023-12-15

注意:与断言相反,这个问题is not重复的。我的问题被标记为 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).

任何帮助将不胜感激。


这就是我写的答案。

Public Function printDateByLocale(inputDate As Date, inputlocale As String) As String
    Dim codeString As String
    Dim scriptControl As Object
        
    Set scriptControl = CreateObject("MSScriptControl.ScriptControl")
    
    codeString = "Function getDateByLocale(myDate, locale)" & vbCrLf & "SetLocale locale" & vbCrLf & "getDateByLocale = FormatDateTime(myDate, vbLongDate) End Function"
    
    With scriptControl
        .Language = "VBScript"
        .addCode codeString
        printDateByLocale = .Run("getDateByLocale", inputDate, inputlocale)
    End With
    
    Set scriptControl = Nothing
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBScript、GetLocale、SetLocale - 其他用途 的相关文章

  • VBA Excel如何在文本框中写入Excel公式

    如何将Excel公式放入文本框中 我尝试过这样的事情 Sub CivBox With ActiveSheet Shapes Civils 3 Copy C26 Activate Paste Shapes Shapes Count Name
  • 如果不是,则必须删除单元格的第一个字符 #3Created 循环永远不会结束

    所以基本上 我需要删除主键字段中第二位数字不为 3 的所有记录 例如可以如下所示 39001 或者没有 3 我想要的是所有以非 3 开头的单元格 它们的行都被删除我想出了以下代码 它删除了所有单元格 但宏永远不会停止运行 Sub keep3
  • 使用 cscript.exe 而不是 wscript.exe 在 VBScript 中执行文件

    我知道如何使用 wscript exe 执行 exe 如下所示 Set WshShell WScript CreateObject WScript Shell WshShell Run c myprogram exe 但我被迫使用 cscr
  • VBA 将数据透视表的源数据更新到行尾

    我试图弄清楚当使用 VBA 数据更改时如何将数据透视表源数据更新到行尾 我当前的代码如下 Dim shBrandPivot As Worksheet Dim shCurrentWeek As Worksheet Dim shPriorWee
  • MS Office 使用 WebDAV 以只读方式打开文档

    我们实现了自己的 WebDAV 服务器 某些使用 Office Word Excel 的用户以只读方式打开文档 对于有问题的计算机 接下来的查询是 OPTIONS http pastie org 10957339 http pastie o
  • 使用 VBA 将数据从 Excel 导出到现有 PowerPoint 幻灯片

    我正在编写一个小型 excel 插件来进行一些简单的数据分析 但不幸的是我不是 VBA 程序员 到目前为止我已经做了什么 从巨大的 Excel 工作簿中获取数据并执行计算 将结果写入预先格式化的 Excel 骨架 文件 我接下来想要做什么
  • 在 Access VBA 中获取 Combobox.Value

    我有这个代码 If Me Combobox Value My Text Then 然而 由于我想测试 我的文本 是否是唯一选择的值 因此跳过了条件 我也尝试过 Me Combobox Column 1 and Me Combobox Tex
  • vba Excel 中的多个查找请求(在查找中查找)

    我正在尝试执行一种嵌套查找请求 用例是我需要在一个工作表上查找组 如果找到 则从找到的行中的单独列中获取用户 ID 值 然后在另一张纸 然后它应该执行一系列操作 然后在第一张表中找到下一个出现的组 我的代码是 LookupGroup Spl
  • 随着数据的增加自动填充公式并动态排序[重复]

    这个问题在这里已经有答案了 我想对工作表中的数据进行排序 该工作表每天都会在第二个工作表中获取新行 问题是 如果我使用 SMALL 函数并自动填充单元格直到最后一行 A102482 或类似的内容 我的文件会变得非常巨大且滞后 gt 20mb
  • 使用VBA删除Excel中的非重复数据

    我尝试删除非重复数据并保留重复数据 我已经完成了一些编码 但什么也没发生 哦 这是错误 哈哈 这是我的代码 Sub mukjizat2 Dim desc As String Dim sapnbr As Variant Dim shortDe
  • 如果单元格包含 1 个或多个关键字,则更改不同单元格的值

    我有一个列 其中包含一些字符串描述 例如 Bob davids mowing the lawn tipping cows 此外 我将在不同的工作表或列上列出关键字列表 例如工作关键字列表1 davids work 播放关键字列表 mowin
  • 连续工作表切换循环

    我有一个 Excel 电子表格来显示 SQL 数据图表 这些图表将显示在我们机加工车间的显示器上 该电子表格有 45 个选项卡 我需要在选项卡之间切换 每个选项卡间隔 10 秒 然后返回到第一个选项卡并重复循环 I found 如何使用 V
  • 解析未完全加载 VBA 的网站

    尝试进行简单的网络解析 我的问题是页面在向下滚动之前无法完全加载 谷歌搜索已经提出可能使用硒 但由于我不知道如何使用它 我想我会在这里问 我使用的代码 Sub gfquote Dim oHttp As MSXML2 XMLHTTP Dim
  • 在 MS word .docs 中插入 MathMl 、 Tex 或 LaTex 方程?

    我一直在寻找 C 中 Net 的一些 dll 用于在 MS Word 中插入任何 MathMl Tex 或 LaTex 方程 我尝试了一些类似 DocX 的工具 但它们失败了 你知道吗 或任何提示如何做到这一点 谢谢 Word 2007 可
  • 我可以使用 VBA 将密码“传递”到 Excel 中的外部数据库连接吗?

    我正在尝试使用 VBA 隐藏我在 Excel 工作表中设置的数据连接的密码 由于 Excel 以纯文本形式存储外部数据源的密码 因此我想让 VBA 调用表的刷新并提供密码 我录制了刷新表格并输入密码的宏 但令我沮丧的是 它似乎省略了密码部分
  • Excel:包括过滤器中的第一行

    我正在特别考虑 Excel VBA 的 AutoFilter 方法 但我认为我的问题也适用于 GUI 当我将筛选器应用于 Excel 工作表时 未选择任何内容 筛选器将应用于所有行从第二次开始 有什么方法可以包含第一行 以便它也可以被过滤掉
  • 如何使用 C# 将表格粘贴到 Ms-Word 文档的末尾

    我有一个预制的 Word 模板 其中有一个表格 我想打开它 然后在文档末尾添加 粘贴 另一个表格 问题是它不会转到文档的末尾 而是将新表格粘贴到原始表格的第一个单元格中 任何帮助将不胜感激 previous code copied a ta
  • 如何从另一个 Excel 实例引用工作簿

    我相信我的问题相当简单 我有一个工作簿 我正在使用它从另一个软件 SAP 获取一些数据 当我从软件导出数据时 它会自动打开一个 xlsx 文件 然后我需要做的是从该文件复制一些数据 粘贴到我的原始工作簿上 然后关闭该文件 我的代码中给我带来
  • 关闭工作簿时删除范围,xls vba

    我想要范围 Range A2 G z 关闭工作簿时删除 有人可以帮我处理代码吗 谢谢 凯 这就是我尝试过的 Option Explicit Sub Makro1 insert clipboard Workbooks Pfl SchutzSt
  • 二维数组作为字典的项目

    我想用一个项目的几个属性填充字典 例子 我正在考虑拥有Item 1 and Item 2 as Dictionary键与array这将保留其属性 我需要能够单独访问项目的每个属性 因此将它们连接为一个字符串不是一种选择 我正在考虑类似下面的

随机推荐