首页 > 解决方案 > 如何在 UFT 中始终使用基于公式的 Excel 单元格值?

问题描述

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

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

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

我试过:

Excel > 文件 > 选项 > 计算选项 > 选择手动 > 未选中“保存前重新计算”。

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

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

标签: excelhp-uft

解决方案


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

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

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

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


推荐阅读