2010-05-10 109 views

回答

2

您可以使用Windows附带的“cscript.exe”来运行vbscript。

根据您的情况,您可以从Java中通过各种方式启动这个:

  • 使用Runtime.exec启动程序。你可以直接作为你的程序的一部分。
  • 使用Ant,它具有一个exec任务,或者具有一个exec插件的maven。这在调用脚本作为构建或其他批处理过程的一部分时非常有用。

编辑:如果您的脚本有一个GUI,然后使用“wscript.exe”。

我假设你的意思是VBScript中,但如果你的意思是雷尔宏,如Word宏,那么你需要做这样的事情:

"C:\Program Files\Microsoft Office\Office12\Winword.exe" 
"C:\MyPath\MyDoc.doc" /m"Macro1" 

或者,你可以创建一个小vbscript实例化Word应用程序并使用run()方法调用宏。您使用cscript.exe/wscript.exe执行该脚本。

+0

它可能会调用这些在另一台服务器上?即,而不是本地计算机上的文件的路径,我将它们路径传递到另一台服务器上的文件“//服务器名称/ Program Files \ Microsoft Office \ Office12 \ Winword.exe” 我有一个Windows服务器,我的Web应用程序托管在Linux服务器上。 – Holograham 2010-05-11 03:29:04

+0

不是直接 - 你的linux系统不能运行Winword。但是,您可以使用ssh - 这将允许您在Linux的Windows机器上运行可执行文件。 – mdma 2010-05-11 07:03:02

0

我们使用的是Com4J,它创建了一组类似于可从Word VBA使用的ActiveX类的Java类,并直接调用它们。这显然只适用于Windows机器,因为Word不能在Linux上运行(除非你有很多时间和Wine)。

通过在Java中准备好这些API,我们将能够调用任何在单词中定义的宏。