我正在尝试使用以下代码从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