使用 C# 在 Excel 中刷新文本框(文档)

Refresh Text Box (Document) in Excel using C#

我正在编写一个程序,它将 运行 并刷新文件中的一堆 Excel 文件和文本框文档。使用 .RefreshAll() 方法,我可以刷新文件中的链接表,以及链接的文本文档。但是,我需要添加的一项功能是在不更新表格的情况下刷新文档。

在这里和 MDSN 上搜索后,我似乎无法确定我需要的东西。有人能给我指出正确的方向吗?

谢谢!

如果您想将 links 更新为 Excel 文件而不是链接数据表 (ListObjects),那么您可以遍历每个 link 并单独刷新它:

using Excelx = Microsoft.Office.Interop.Excel;

Excelx.Workbook wb = xlApp.ActiveWorkbook;

object links = wb.LinkSources(Excelx.XlLink.xlExcelLinks);
Array linkz = (Array)links;

for (int i = 1; i <= linkz.Length; i++)
{
    wb.UpdateLink(linkz.GetValue(i).ToString(), Excelx.XlLinkType.xlLinkTypeExcelLinks);
}

最初的部分似乎理论上可以压缩,但我从来没有运气整合这些陈述。