我有一个启用了宏的Excel。宏之一执行一个jar文件。 jar文件从站点下载文件并将其放入我的文档中。
Application.ScreenUpdating = False
Const WshRunning = 0
Const WshFinished = 1
Const WshFailed = 2
Dim i As Integer
strCommand = "javaw -jar " & Application.ActiveWorkbook.Path & "\\somejar.jar "
Set WshShell = CreateObject("WScript.Shell")
Set WshShellExec = WshShell.exec(strCommand)
i = 0
Do While WshShellExec.Status = WshRunning
Sleep 5000
Application.StatusBar = "Downloading " & i
'MsgBox ("Running")
i = i + 1
Loop
Select Case WshShellExec.Status
Case WshFinished
strOutput = WshShellExec.StdOut.ReadAll()
Application.StatusBar = "Download Completed!"
Case WshFailed
strOutput = WshShellExec.StdErr.ReadAll()
Application.StatusBar = "Download failed"
End Select
该代码在我的@home系统中运行良好。它可以快速下载数据。
但是当我在系统@ office中尝试时,它会继续打印“正在下载1” ..“正在下载40”并继续。它永远打印。看起来状态始终为0(WshRunning)
当我切换程序或单击某个地方时,它无响应。但是,如果我从cmd窗口运行java -jar命令,它将执行并下载文件
我在两个系统中都设置了java_home路径变量。在家里,我有类似“ C:\ Program Files(x86)\ Java ..”的东西。在办公室,我已将其指向“ C:\ Program Files \ Java ..”。希望它是32位和64位。会影响程序吗?
家庭系统具有Windows10。办公系统是Mac,我启动具有并行功能的Windows 10。
在办公室和家庭中,我都从Dropbox同步文件夹运行excel
我想了解我应该在Office桌面上更改哪些设置才能使其正常工作吗?
谢谢!
Valli