从Excel / VBA调用Scala函数

菲尔-ZXX

我知道使用C ++可以创建包含某些功能的DLL文件,然后可以将其导入Excel(例如,通过VBA)。让我们采用以下C ++函数

double __stdcall square_it(double &x)
{
    return x*x;
}

我们假设它已合并在square.dll中,因此我们可以使用以下VBA导入

Declare PtrSafe Function square_it Lib "square.dll" (ByRef x As Double) As Double
Private Sub TestSub()
    MsgBox square_it(4.5)
End Sub

所以我的问题是:是否可以在Scala中编写函数,然后以类似的方式VBA调用它

奥利维尔·布兰维林

Scala与Java并没有什么不同,并且正在研究Java问题,例如可以在VB.net程序中使用Java库吗?从VBA / VBScript / Visual Basic Classic调用Java库(JAR)时,没有很好的解决方案来获得与VBA / Java或VBA / Scala中的VBA / C ++相同级别的集成。

您始终可以使用任何外部通道在VBA和Scala之间进行通信,例如在Shell,文件系统甚至http之间进行通信,但这不会像您的VBA / C ++示例那样简单有效。

这是通过shell进行通信的样子:

在example.scala中:

object Example {
  def main(args: Array[String]): Unit = {
    val d = args.head.toDouble
    println(d * d)
  }
}

在example.vba中:

Module Example
  Sub Main()
    Dim command As String 
    command = "scala /path/to/example.scala 123"
    Range("A1").Value = CreateObject("WScript.Shell").Exec(command).StdOut.ReadAll
  End Sub 
End Module

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Excel调用Access VBA函数

来自分类Dev

从Excel调用Word VBA MsgBox函数

来自分类Dev

Excel VBA中的动态函数调用

来自分类Dev

在Access VBA中调用Excel函数

来自分类Dev

解决从Excel Vba调用DLL函数的问题

来自分类Dev

从Excel错误2517调用Access VBA函数

来自分类Dev

Excel VBA 调用函数和循环

来自分类Dev

在Excel VBA中调用函数时无效的过程调用或参数

来自分类Dev

如何使用VBA在Excel中的ENTER键上调用函数

来自分类Dev

无法从Excel工作表单元格调用VBA函数

来自分类Dev

从Excel使用VBA变量函数调用SQL查询

来自分类Dev

无法从Excel工作表单元格调用VBA函数

来自分类Dev

从Excel VBA函数xlwings调用会产生错误

来自分类Dev

如何使用VBA在Excel中的ENTER键上调用函数

来自分类Dev

VBA函数在excel中调用时返回#VALUE

来自分类Dev

从 Excel 调用 Access 函数

来自分类Dev

Excel VBA ProperCase函数

来自分类Dev

Excel VBA hlookup函数

来自分类Dev

Excel VBA函数返回结果

来自分类Dev

VBA Excel 2010 isError函数

来自分类Dev

使用列函数 - Excel VBA

来自分类Dev

EXCEL VBA - 定义子或函数

来自分类Dev

有什么方法可以通过Python调用Excel VBA函数吗?

来自分类Dev

VBA Excel函数来设置调用单元格.NumberFormat属性

来自分类Dev

Excel:从工作表中调用vba函数时,将当前单元格作为参数传递

来自分类Dev

调用用C编写的DDL函数时,Excel VBA脚本崩溃,该函数返回字符串BSTR

来自分类Dev

在Excel 2010 VBA中调用Shell命令

来自分类Dev

在Excel公式中调用VBA类模块

来自分类Dev

从Excel-VBA脚本调用.reg文件