2010-03-08 91 views
7

我在一個文件夾中有一堆.doc文件,我需要將其轉換爲.docx。自動化:如何自動將.doc轉換爲.docx?

要手動轉換爲.doc爲.docx很簡單:

  1. 在Word 2007中打開.doc
  2. 點擊另存爲...
  3. 保存爲.DOCX

但是,爲數百個文件做這件事絕對不是好玩。 = p

你會如何自動化?

回答

4

Word自動運行。

如果您使用的是.NET,請將Microsoft.Office.Interop.Word(確保它是版本12 - 等同於Word 2007,以便您可以實現上述)將參考彙編添加到您的項目並使用它自動化Word應用程序做你想做的事情。僞代碼

  • 創建應用程序對象
  • 使用應用程序對象打開一個文件(通過提供它的文件名)
  • 使用Application對象通過向它的格式和輸出文件名來執行另存爲
  • 關閉當前文檔
  • 循環通過上面的,直到你的所有文件完成
  • 家政服務代碼以釋放Word或文檔對象

你可以在google上找到大量的例子,只要在C#中搜索Word Automation就行了。

+0

保存爲新的文件格式不將文件轉換爲這種格式。當你按照你詳細描述的方式打開新文件時,它有時會以兼容模式打開,因爲你只改變了擴展名。您需要調用文檔對象上的Convert()方法才能真正轉換爲最新的文件格式。 – codemonkeyliketab 2016-02-11 19:17:44

7

最簡單的方法是使用命令行Office File Converter。剛跑

ofc 

和魔法發生。

+0

+1很好,完全忘了這個。它會更簡單。 – 2010-03-08 23:11:53

14

沒有必要自動化Word,由於彈出消息,這很慢且很脆弱,或者使用Microsoft Office文件轉換器(ofc.exe),它具有不必要的複雜用戶界面。

最簡單和最快捷的方式是安裝Office 2007或從Microsoft下載並安裝兼容包(如果尚未完成)。然後你可以從.DOC轉換很容易使用下面的命令爲.docx:

"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme <input file> <output file> 

其中<輸入文件>和<輸出文件>必須是完全合格的路徑名。

該命令可以很容易地應用於使用for多個文檔:

for %F in (*.doc) do "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme "%F" "%Fx" 
+0

最簡單的。謝謝。 – 2010-11-18 17:22:28

+0

簡單而完美。 – Gerard 2013-07-23 09:30:24

+0

謝謝,這是完美的。 – vatsug 2017-03-01 13:59:23