【发布时间】:2013-07-16 14:25:22
【问题描述】:
全部,
我有以下代码来更改工作簿的链接。
ThisWorkbook.ChangeLink "OldPath.xlsx", "NewPath.xlsx", xlLinkTypeExcelLinks
我的问题是“NewPath.xlsx”代表一个工作簿,其工作表对象的名称与 OldPath.xlsx 中的名称略有不同。那么,有没有办法以编程方式不仅更改与 Excel 工作簿关联的路径,还更改实际的对象/范围引用或有问题的外部链接?
提前致谢。
【问题讨论】:
-
仅供参考,定义名称是未来防止此问题的最佳方法,因为移动单元格或重命名工作表都没有关系。
-
如果这些是我从一开始的工作簿,我们就不会遇到这个问题。我现在使用 OpenXML SDK 采用不同的方法,我认为它会起作用。不过,由于受到其他项目的猛烈抨击,所以目前这个项目的优先级较低。
-
另外,要使命名范围起作用,实际上需要打开链接的工作簿以刷新数据。
-
我忘了 - 好点。如何将工作表从 New -> Old 重命名,然后打开带有链接的书。然后你可以做任何事情:将工作表重命名为 New,或者只是更新值并关闭源书而不保存,等等......
-
我考虑过这一点,如果我不能让所有东西都在 OpenXML 中工作,我可能最终会这样做。问题是旧文件位置不再存在,所以无论哪种方式,我至少需要使用 OpenXML 将工作簿路径更新为我可以实际进入和更改的工作簿。