gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:06:50 25 4
gpt4 key购买 nike

我有一个 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();
}

评论是我尝试过但没有用的所有其他东西。

感谢任何帮助。

感谢您的宝贵时间!

最佳答案

经过大量的尝试和提问,我得出了以下解决方案:

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

如何在 Code.Path 属性中精确定位 excel 文件的路径有点棘手,但它会在更新字段后保留所有格式。

关于c# - Word 文档中的 Excel 范围在更新链接后不保留格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47834704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com