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

Java 在不打开word窗口的情况下运行word宏,java,macros,struts2,ms-word,struts,Java,Macros,Struts2,Ms Word,Struts,我试图使用以下命令从Java代码执行msword宏: Runtime rt = Runtime.getRuntime(); Process process = rt.exec("WINWORD.EXE <macroname> /w /m"); Runtime rt=Runtime.getRuntime(); 进程=rt.exec(“WINWORD.EXE/w/m”); 当这个命令执行时,单词open和close。 是否有一种方法可以在后台运行word宏,而无需打开mswor

我试图使用以下命令从Java代码执行msword宏:

 Runtime rt = Runtime.getRuntime();
 Process process = rt.exec("WINWORD.EXE  <macroname> /w /m");
Runtime rt=Runtime.getRuntime();
进程=rt.exec(“WINWORD.EXE/w/m”);
当这个命令执行时,单词open和close。 是否有一种方法可以在后台运行word宏,而无需打开msword窗口并关闭?

这可能会有所帮助:-

SET objWord = CreateObject("Word.Application")
objWord.Visible = True 'This will Hide the Word Application
这可能有助于:-

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

我怀疑你所要求的是可能的,因为你是在向进程发送直接命令

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


然后是使用java的vbs文件,我怀疑您的要求是否可行,因为您正在向进程发送一个直接命令

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

然后使用java创建vbs文件。如果可以,请尝试:

Dim Word

Dim WordDoc

Set Word = CreateObject("Word.Application")

Word.Visible = False

Set WordDoc = Word.Documents.open("D:\working_folder\abc.doc")

Word.Run "<macroname>"

WordDoc.Save

Word.Quit


Set WordDoc = Nothing
Set Word = Nothing 
暗字
Dim WordDoc
Set Word=CreateObject(“Word.Application”)
Word.Visible=False
设置WordDoc=Word.Documents.open(“D:\working\u folder\abc.doc”)
Word.Run“”
WordDoc.Save
一句话,退出
设置WordDoc=Nothing
设置字=无
这有效,试试看:

Dim Word

Dim WordDoc

Set Word = CreateObject("Word.Application")

Word.Visible = False

Set WordDoc = Word.Documents.open("D:\working_folder\abc.doc")

Word.Run "<macroname>"

WordDoc.Save

Word.Quit


Set WordDoc = Nothing
Set Word = Nothing 
暗字
Dim WordDoc
Set Word=CreateObject(“Word.Application”)
Word.Visible=False
设置WordDoc=Word.Documents.open(“D:\working\u folder\abc.doc”)
Word.Run“”
WordDoc.Save
一句话,退出
设置WordDoc=Nothing
设置字=无

它正在使用VB脚本它正在使用VB脚本