在不打开word窗口的情况下运行word宏



我正在尝试使用以下代码从Java代码执行msword宏:

 Runtime rt = Runtime.getRuntime();
 Process process = rt.exec("WINWORD.EXE  <macroname> /w /m");

当这个命令执行单词open和close时。有没有一种方法可以在后台运行word宏,而无需打开msword窗口并关闭?

我怀疑您所问的是否可能,因为您正在向Process发送直接命令。

我克服这一问题的一种方法是在文件系统中创建一个VBS文件(在这个文件中,我会创建MSWORD对象,隐藏它,然后发送宏命令)。

然后使用java 运行vbs文件

这可能会有所帮助:-

SET objWord = CreateObject("Word.Application")
objWord.Visible = True 'This will Hide the Word Application

这很管用,试试看:

Dim Word
Dim WordDoc
Set Word = CreateObject("Word.Application")
Word.Visible = False
Set WordDoc = Word.Documents.open("D:working_folderabc.doc")
Word.Run "<macroname>"
WordDoc.Save
Word.Quit

Set WordDoc = Nothing
Set Word = Nothing 

相关内容

最新更新