0

我想在excel中使用vb脚本调用一个java jar文件。我的文件格式是“xlsm”,我的 vb 脚本代码在哪里。

当我执行我的代码时,控制台来来去去,我不写控制台上的内容。请看一下代码

Public Function RunProgram( _
program As String, _
Optional command As String = "" _
) As WshExec
Dim wsh As New WshShell
Dim exec As WshExec
Dim oShell
Application.ScreenUpdating = False
Set exec = wsh.exec(program)
Call exec.StdIn.WriteLine(command)
 Set RunProgram = exec
'Application.ScreenUpdating = True
End Function
Public Function evenOdd1(Number As Double) As Double
Call Run
End Function

Public Sub Run()
Dim program As WshExec
Set program = RunProgram("java -jar G:\\excel\\MyTest.jar""Margus") 
'Debug.Print "STDOUT: " & program.StdOut.ReadAll
End Sub

我试过 Application.ScreenUpdating, Application.visible 来保持屏幕但无法保持控制台..请帮助我

4

1 回答 1

0

当我执行我的代码时,控制台来来去去,

你的意思是控制台窗口(基本上cmd.exe)在屏幕上弹出然后消失?如果发生了这种情况,那么(a)您的命令有问题(语法错误,找不到java等),因此系统立即退出而不运行您的命令;(b) 系统运行了命令,但java不理解命令的参数,并立即退出;或 (c) 您的 Java 程序正常运行并立即退出(这不太可能——Java 至少需要几百毫秒才能加载)。

要确定问题出在哪里,您可以尝试将其用作命令(而不是您生成的任何命令):

ping 1.1.1.1 -n 1 -w 5000

这将打开一个命令提示符(又名“控制台窗口”),尝试 ping(无效)IP 地址1.1.1.1,然后等待 5 秒以等待响应。该命令在等待响应时应保持 5 秒。

如果命令提示符确实停留了 5 秒钟,那么您已经确认问题出在您尝试运行的命令上。尝试将您尝试运行的命令打印到 VB 控制台并运行它cmd.exe以查看问题所在。

于 2013-04-23T17:36:48.577 回答