在 ASP.NET 專案中引用 Microsoft Word 12.0 Object Library 後,呼叫 Document.SaveAs 時發現方法不存在,只有 SaveAs2,且呼叫 SaveAs2 仍報錯:
錯誤 1 “Microsoft.Office.Interop.Word.Document”不包含“SaveAs2”的定義……
專案類型為 ASP.NET 空白網站,專案結構中缺少 References(參考)資料夾。Word Interop 組件需正確加入至參考資料夾,Visual Studio 才會產生正確的互通組件包裝函式(PIA),包含 SaveAs 等標準方法。
Document.SaveAs 方法即會出現並可正常使用。object path = @"c:\123.docx";
msWord.Application word = new msWord.Application();
msWord.Document doc = word.Documents.Add();
/* ... 建立表格、填入資料 ... */
object format = msWord.WdSaveFormat.wdFormatDocumentDefault;
doc.SaveAs(ref path, ref format, /* 其他參數用 Missing.Value */);
doc.Close();
word.Quit();
Bin 資料夾並將 Interop 組件複製進去,再加入參考。專案缺少 References 資料夾導致 Interop 組件未正確包裝,補齊參考結構即可恢復 SaveAs 方法。建議新專案直接使用標準範本避免此類問題。