我試圖用C#互操作程序集用下面的代碼來填寫表單域在Microsoft Word灌裝領域使用C#和Microsoft Word互操作
string filename = @"N:\mehler\Vorlage2.dotx";
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
doc = word.Documents.Open(filename);
doc.Activate();
foreach (Microsoft.Office.Interop.Word.FormField field in doc.FormFields)
{
switch (field.Name)
{
case "Text2":
field.Range.Text = "1";
break;
default:
break;
}
}
doc.SaveAs2(@"N:\mehler\Ausgefuellt.docx");
doc.Close();
word.Quit();
System.Diagnostics.Process.Start(@"N:\mehler\Ausgefuellt.docx");
微軟Word無法打開文件Ausgefuellt.docx和節目一條消息表示發生了未知的錯誤。
我創建了一個簡單的Word文檔有位未格式化的文本和2的文本形式,場
誰能告訴我,哪裏出了問題,或者如果IA有一個錯誤在我的源代碼
編輯: 我設法指定了問題。我創建了一個只包含一個文本表單字段的文檔。 在Word 2013中,發現這個主題「Formulare aus Vorversionen」(我將它翻譯爲「Formfields from former Versions」) 如果我將整個foreach塊註釋掉以便我只打開並保存文檔,相同的結果。
如果我直接在Word中打開源文件,它是沒有問題的。我也嘗試加載文檔並讓Word可見。結果看起來像一個沒有加載Document的空Word實例。
執行處斷裂'開放method'? –
我也發現這個主題http://stackoverflow.com/q/17383430/1307426它可能是一個Word Interop問題? – sebastianmehler
你爲什麼試圖更新模板?也許你應該發出一個'Word.Documents.Add(文件名);'所以Word會根據你的模板創建一個** new **文檔... –