使用JACOB保存Word文档(Java)

时间:2010-08-05 11:09:14

标签: java ms-word jacob

我正在尝试创建一个简单的Java程序来打开现有的word文档,更改内容并将其保存为.html文件。

无效的部分是将其保存为.html。 问题是,我得到了html文件,但它只是一个重命名的doc文件。所以不是我真正可以使用的.html文件。

这是我在Google上发现的:

Object oWordBasic = Dispatch.call(oWord, "WordBasic").getDispatch(); 
Dispatch.call((Dispatch) oWordBasic, "FileSaveAs", path); 

我需要做什么,将html文件作为输出?

提前谢谢。

2 个答案:

答案 0 :(得分:3)

它使用OLE自动化对象来保存文件,因此您必须找到指示文件类型的方法或参数。

这是我可以使用Word录制的宏:

ActiveDocument.SaveAs filename:="asdd.htm", FileFormat:=wdFormatHTML, _
    LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
    :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
    SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
    False

因此,这意味着您必须向SaveAs方法指示FileFormat:= wdFormatHTML(或常量值)参数。这留给读者一个练习:)

答案 1 :(得分:3)

我想通了,感谢helios提示。

正确的代码是:

Object oWordBasic = Dispatch.call(oWord, "WordBasic").getDispatch(); 
Dispatch.call((Dispatch) oWordBasic, "FileSaveAs", path, new Variant(8)); 

变量的参数是输出格式。 (例如8是html,6是rtf,17是pdf) 您可以在WdSaveFormat Enumeration

找到完整列表