2015-02-11 39 views
0

我正在寫一個Windows資源管理器擴展,它打開一個現有的.docx文件,編輯一些東西,並將其保存到不同的路徑和名稱。它成功地打開了該文件,但是當它命中document.SaveAs()命令時,它只是用原始文件名和路徑打開另存爲對話框,而不是保存到新路徑。Word Interop 12:SaveAs新的文件名沒有對話框

以下是處理文檔的代碼部分。

var application = new Microsoft.Office.Interop.Word.Application(); 
application.Visible = true; 

var document = application.Documents.Open(
    FileName: reviewRecordTemplatePath, 
    AddToRecentFiles: false, 
    Visible: true); 

// Do stuff... 

document.SaveAs(FileName: reviewRecordPath); 

回答

0

爲什麼不在打開它之前創建文檔的副本?

例如,假設您要使用腳本修改c:\ docs \ myfile.docx,並且想要將修改後的版本保存爲c:\ newdocs \ newfile.docx。

在腳本中打開Word之前,先執行File.Move(「c:\ docs \ myfile.docx」,「c:\ newdocs \ newfile.docx」);然後打開目標文件,進行更改,然後執行document.Save();

+0

* facepalm *我已經修復了讓SaveAs工作,我沒有考慮明顯的解決方案。謝謝! :) – Jeremy 2015-02-11 21:25:27

0

嘗試指定Document類的SaveAs2方法的文件名和fileformat。

+0

SaveAs2()不可用,只有SaveAs()和SaveAsQuickStyleSet()。那是因爲我使用的是舊的Interop界面嗎? (12) – Jeremy 2015-02-11 21:00:47