Word文档中的Excel范围在更新链接后不保留格式

我有一个Word文件与其中的Excel文件中的几个链接表。 当我更新链接时,文件中的表格不会保留表格的格式。

如果我通过Word手动手动执行,格式保持不变。

我尝试用下面的代码以编程方式执行它:

using Word = Microsoft.Office.Interop.Word; public void LaunchWord() { WordApp = new Word.Application(); Document = WordApp.Documents.Open(PathToTemporaryTemplate, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Word.WdOpenFormat.wdOpenFormatAuto, Missing.Value, true, Missing.Value, Missing.Value); Fields = Document.Fields; Document.UpdateStylesOnOpen = false; Document.Activate(); } 

然后我尝试更新这样的链接:

 public void ChangeLinks(string pathToNewExcel) { var links = Fields.Cast<Word.Field>().AsEnumerable().Where(c => c.LinkFormat != null).ToList(); foreach (Word.Field field in links) { //field.LinkFormat.AutoUpdate = false; //field.DoClick(); field.LinkFormat.SourceFullName = pathToNewExcel; //field.OLEFormat.Activate(); field.OLEFormat.PreserveFormattingOnUpdate = true; field.LinkFormat.Update(); //field.LinkFormat.SavePictureWithDocument = true; //field.UpdateSource(); field.Update(); } Document.Save(); } 

评论是我所尝试的所有额外的东西,但没有奏效。

任何帮助表示赞赏。

感谢您的时间!

经过大量的尝试和问题,我来到了以下解决scheme:

 foreach (Word.Field field in links) { field.Code.Text = field.Code.Text.Replace(oldPath, newPath); field.Update(); } 

如何精确定位Code.Path属性中excel文件的path有点棘手,但是在更新字段之后它将保持所有的格式。