1

在 MS Access 公共函数中,我使用 shell 调用运行 java xslt 模块:

Set shell = CreateObject("WScript.Shell")
cmd = "java -jar D:\saxon9he.jar -s:D:\input.xml -xsl:D:\transf.xslt -o:D:\output.xml"
Set objExecObject = shell.Exec(cmd)

我发现了以下错误:

VBA java调用错误

由于在另一个 MS Access 实例中完全相同,我假设我必须在某处引用环境变量(其中一个JAVA_HOME已设置为C:\Program Files\Java\jdk1.5.0_16\bin)。
但是我可以在 MS Access 的哪个位置设置该引用?
还是这个错误是由其他原因引起的?
例如,MS Access / VBA 访问和/或PATH中的环境变量可能会出现问题吗?在我的设置中,保存 java.exe 位置信息的是用户环境参数。USERSYSTEMPATH

4

1 回答 1

1

我在要执行的命令中添加了如下内容:

Set shell = CreateObject("WScript.Shell")
Dim JavaHome As String
JavaHome = shell.Environment("USER")("JAVA_HOME") & "\"
cmd = JavaHome & "java -jar D:\saxon9he.jar -s:D:\input.xml -xsl:D:\transf.xslt -o:D:\output.xml"
Set objExecObject = shell.Exec(cmd)

这很好用,因为我现在自己提供了 java.exe 的路径。

但我仍然想知道,为什么突然 MSA/VBA 不能再应用PATH来自用户环境(包括 ;%JAVA_HOME%;)的参数了......

我将为该问题创建另一个线程...

于 2012-06-04T20:25:04.710 回答