如何在 UFT 中始终使用基于公式的 Excel 单元格值?

How can I use Excel cell values that are based on formulas consistently in UFT?

我正在使用 UFT 从 excel 读取测试数据。 单元格 A1 有数据:=RANDBETWEEN(2,7) 单元格 A2 有数据:=A1 单元格 A2 指向 A1。

每次我打开 excel 文件时,我都会看到 A1 中生成了新值,然后 A2 显示相同的值。 excel 打开时值保持不变。

UFT 打开excel 文件时,A1 和A2 始终不相同。我认为当 UFT 读取 A2 时,它会再次生成新的值。每次 UFT 打开 excel 文件时,我希望在两个单元格中看到相同的值。这些值应该在文件打开时固定。

我试过了:

Excel > 文件 > 选项 > 计算选项 > select 手动 > 未选中 "recalculate before saving".

它没有解决问题,UFT 似乎忽略了这个标志。

每次 UFT 打开 excel 文件时,如何在 A1 和 A2 中使用相同的值而不不断更改值?

您刚刚发现 UFT 在 Excel 包含公式的工作簿中失败得很惨。仅支持非常简单的公式。

即使支持 RANDBETWEEN(我认为:它不支持),您迟早会发现 UFT 无法计算公式,除非是相当琐碎的情况。

推荐的解决方法是: 在您的 UFT 测试中,如果您需要来自 "freshly" 评估公式的最新结果,请使用 Excel 自动化界面启动一个 Excel 实例(可能不可见),并使用它来打开您的工作簿,将所有值(不是公式)复制到新工作簿,并以不同的名称保存该工作簿。然后使用不包含任何公式的新工作簿作为 UFT 中的数据源。

这可能需要 < 60 行 UFT 中的 VBScript 代码,并且它将永远解决您的问题,无论您将来选择使用哪种公式。