代码之家  ›  专栏  ›  技术社区  ›  Holograham

从Java代码调用VB宏

  •  3
  • Holograham  · 技术社区  · 16 年前

    我创建了一个VB宏。我想给宏传递一个字符串和一个文件位置。我将如何调用Java代码。这有图书馆吗?

    3 回复  |  直到 16 年前
        1
  •  2
  •   mdma    16 年前

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

    根据您的场景,您可以从Java中以多种方式启动:

    • 使用“http://java.jun.com /j2s/1.4.2/DOCS/API/Java/Lang/RunTime.html HTML执行(Java.Lang.Stult[],%20Java.Lang.St[],%20Java.Io.file)”Re= =“NoFoLoLoNeFror”>运行时。Exc< < A> >启动程序。您可以将此作为计划的一部分直接执行。
    • 使用具有exec任务的ant或具有exec插件的maven。当作为构建或其他批处理过程的一部分调用脚本时,这是最有用的。

    编辑:如果脚本具有GUI,则使用“wscript.exe”。

    我假设您是指vbscript,但如果您真的是指宏,如Word宏,则需要执行如下操作:

    “C:\Program Files\Microsoft Office\Office12\Winword.exe”
    “C:\MyPath\MyDoc.Doc”/M“宏1”
    < /代码> 
    
    

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

    执行时间启动程序。您可以作为程序的一部分直接执行此操作。

  • 使用具有exec任务的ant或具有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执行该脚本。

        2
  •  1
  •   Tomalak    16 年前

    "JACOB - Java COM Bridge" on SourceForge . 这个项目还有第二个, more dated homepage .

    还有一个商业化的COM/ActiveX自动化库 J-Integra 这看起来也可以做到。

    免责声明:这些只是我从谷歌中提取的链接,我对这些库没有实际经验。

        3
  •  0
  •   Daniel    16 年前

    我们使用COM4J,它为我们创建了一组Java类,这些类看起来与Word VBA可用的ActiveX类相同,并直接调用这些类。这显然只适用于Windows机器,因为Word不在Linux上运行(除了您有很多时间和酒)。

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