Ubuntu
我在 OCaml 中编写了一个非常简单的ml.ml
代码:
let () = print_string "hello world, in OCaml\n"
还有一个简单c.c
的 C 语言:
#include <stdio.h>
main() {
printf("hello world, in C\n");
return 0; }
然后我用ocamlc -o mlexe.exe ml.ml
and编译它gcc -o cexe.exe c.c
。启动mlexe.exe
或cexe.exe
在终端下Ubuntu
会返回字符串。
现在我想从 VBA 代码中调用它。我启动 Windows,打开 Microsoft Excel 文件和 VBA 编辑器,然后输入:
Sub run()
Dim ProcID As Integer
ProcID = Shell("C:\Windows\system32\calc.exe", 1)
Dim Result As Variant
Result = Shell("C:\test\cexe.exe",1)
'Result = Shell("C:\test\mlexe.exe",1)
'Result = Shell("C:\test\cexe.exe")
'Result = Shell("C:\test\mlexe.exe")
End Sub
我希望Result
得到字符串hello world...
(或在不太好的情况下的退出代码),运行宏确实会启动计算器,但会给我一个错误Run-time error '5': Invalid procedure call or argument
,对于其他 4 个Shell
我自己的可执行文件。
目的只是从 VBA 代码中调用我自己用另一种语言编译的可执行文件。
谁能告诉我出了什么问题?