7

我目前正在创建一个运行蒙特卡罗类型模拟的 Excel 工作簿。不过,模拟器代码目前使用的是 Javascript,并且考虑到团队对这种语言缺乏经验,完全移植到 VBA 似乎并非易事。所以,我已经能够将 javascript 组件合并到一个 WSC 文件中,效果很好。(下面的简化示例。)

    Sub Simulate()
        Set ATPSim = GetObject("script:http://www.example.com/ATPSim.wsc")
        'Set ATPSim = GetObject("script:C:\ATPSim.wsc")
        Dim ParamOne As Integer
        ParamOne = Range("B2").Value
        Dim ParamTwo As Double
        ParamTwo = Range("B3").Value
        Dim ParamThree As Double
        ParamThree = Range("B4").Value
        Range("B1").Value = ATPSim.simulate(ParamOne, ParamTwo, ParamThree)
    End Sub

不幸的是,这需要我托管 javascript 代码或依赖不成熟的用户来更新绝对路径。有没有自给自足的解决方案?我更愿意将所有内容保存在一个可以通过电子邮件发送给用户的 .xlsm 文件中。

4

1 回答 1

1

您应该能够在 COM 组件中托管 JS 并使用 WSH 访问它。

请参阅此处的示例:如何在 Excel 宏中使用 JavaScript?

于 2013-04-18T05:53:38.087 回答