2012-06-04 50 views
1

在一個MS Access公共職能,我運行使用shell調用Java XSLT模塊:VBA殼java調用錯誤

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 call error

儘可能精確在另一個MS Access實例中工作正常,我假設我必須在某處引用環境變量(其中一個是JAVA_HOME,它已被設置爲C:\Program Files\Java\jdk1.5.0_16\bin)。
但是,在MS Access中,我可以設置該參考?
或者是由別的東西引起的這個錯誤?
可能會遇到例如MS Access/VBA訪問USER和/或SYSTEM中的環境變量PATH的問題?在我的設置中,用戶環境參數PATH包含java.exe位置信息。

回答

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%)更多...

我將創造另一個線程那個問題...