Vb.net更新与其他工作簿的引用的Excel公式

我正在尝试从一个工作簿更新一些公式到另一个工作簿。 一切都运作良好,直到我碰到一个公式,有一个参考另一个工作簿。 例如,像这样的公式=IF(ISERROR(W!Var1),0,W!Var2)它会提示我打开这个工作簿,我假设它可以评估公式。 所以我的问题是这个。 有没有办法让我在飞行中处理这些情况,所以如果有工作簿参考需要它会提示我,然后将其保存到内存? 因为如果我有多个包含这些公式的单元格,它会提示我为包含链接的每个单元格打开引用的工作簿。 或者,有没有一种方法可以将我的公式推入细胞,而无需进行评估?

所以在我的代码中,我有这一行适用于任何不包含工作簿引用的值。 TheRange.RefersToRange.FormulaR1C1 = RangeFormula

任何帮助是极大的赞赏。

我知道你参考了Worksheets (每个给定的Excel文件中的“选项卡”), Workbook是整个文件。 当找不到所提到的工作表时,popup消息出现。 例如: range.Value = "=sheet5!A3" (在只有“sheet1”,“sheet2”和“sheet3”的工作簿中)。 如果你想避免这个信息(尽pipe记住工作表不在那里,那么计算结果也是错误的),你可以这样写:

 excelApp.DisplayAlerts = False 

其中excelApp是您正在使用的Excel.Application