2012-12-07 100 views
2

我嘗試使用java將文件保存爲html。我保存Word文件作爲XML及其對我將文件保存爲java中的html

Runtime rt1 = Runtime.getRuntime(); 
rt1.exec("C:/Program Files/Microsoft Office/Office12/WINWORD.EXE /msaveasxml C:/myfolder/AB_00040.doc"); 

它保存我的文檔文件作爲XML文件中的特定文件夾C工作:/ myfolder然後我查看位於C xml文件:/myfolder/AB_00040.xml

如果我想保存與html相同的文件,我該怎麼辦。任何一個可以幫助

rt1.exec("C:/Program Files/Microsoft Office/Office12/WINWORD.EXE /msaveas??? C:/myfolder/AB_00040.doc"); 

在此先感謝

+0

我覺得這是更比Java的MS Word問題。你嘗試過「msaveashtml」嗎? –

+0

這可能會幫助你... http://office.microsoft.com/en-us/word-help/command-line-switches-for-microsoft-office-word-2007-HP010164010.aspx –

+0

這也是。 ..http://support.microsoft.com/kb/210565 –

回答

4

我發現扎克麥康伯的提示我使用宏轉換爲Word文件的HTML文件的答案。我給這個宏的編碼。保存宏的名稱爲 「saveashtml」

Sub saveashtml() 
Dim xmlname As String 
xmlname = ActiveDocument.FullName 
xmlname = Replace(xmlname, ".docx", ".html", , , vbTextCompare) 
xmlname = Replace(xmlname, ".doc", ".html", , , vbTextCompare) 
ActiveDocument.SaveAs FileName:=xmlname, FileFormat:=wdFormatHTML, LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False 
Application.Quit 
End sub 

您可以通過

Runtime rt1 = Runtime.getRuntime(); 
rt1.exec("C:/Program Files/Microsoft Office/Office12/WINWORD.EXE /msaveashtml C:/myfolder/AB_00040.doc"); 

saveasxml宏編碼執行這個宏

Sub saveasxml() 
Dim xmlname As String 
xmlname = ActiveDocument.FullName 
xmlname = Replace(xmlname, ".docx", ".xml", , , vbTextCompare) 
xmlname = Replace(xmlname, ".doc", ".xml", , , vbTextCompare) 
ActiveDocument.SaveAs FileName:=xmlname, FileFormat:=wdFormatFlatXML, LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False 
End Sub 
+1

我在Web應用程序中使用您的解決方案,其中用戶在客戶端上載Word文檔,並調用winword與宏以在服務器端轉換爲html。但這種方法存在問題。如果Word文檔已損壞,或只讀等,並且當服務器運行winword命令時,winword提示如「文檔已損壞,您還想打開嗎?」,「文檔是隻讀的,您想打開嗎?並永久掛在內存中,因爲winword正在等待用戶輸入,程序無法提供該輸入。你知道這個解決方案嗎? – Fayaz