Как я могу использовать значения ячеек Excel, которые основаны на формулах последовательно в UFT?

Я читаю тестовые данные из Excel, используя UFT. Ячейка A1 имеет данные: =RANDBETWEEN(2,7) Ячейка A2 имеет данные: =A1 Ячейка A2 указывает на A1.

Каждый раз, когда я открываю файл Excel, я вижу, что новое значение генерируется в A1, а затем A2 отображает то же самое. Значения остаются неизменными, в то время как Excel открыт.

Когда UFT открывает файл Excel, A1 и A2 не всегда одинаковы. Я думаю, что когда UFT читает A2, он снова генерирует новое значение. Мне нравится видеть одинаковое значение в обеих ячейках каждый раз, когда UFT открывает файл Excel. Эти значения должны быть исправлены, пока файл открыт.

Я старался:

Excel> Файл> Параметры> Параметры расчета> выберите вручную> не отмечен "пересчитать перед сохранением".

Это не решило проблему, UFT, кажется, игнорирует этот флаг.

Как я могу иметь одно и то же значение в A1 и A2 каждый раз, когда UFT открывает файл Excel без постоянного изменения значения?

1 ответ

Решение

Вы только что узнали, что UFT терпит неудачу с книгами Excel, которые содержат формулы. Поддерживаются только очень простые формулы.

Даже если RANDBETWEEN поддерживается (я думаю: это не так), вы рано или поздно обнаружите, что UFT не может оценивать формулы, за исключением довольно тривиальных случаев.

Рекомендуемый обходной путь будет следующим: в вашем UFT-тесте, если вам нужны свежие результаты из "только что" оцененных формул, используйте интерфейс автоматизации Excel для запуска экземпляра Excel (возможно, невидимого) и используйте его для открытия вашей книги, скопируйте все значения (не формулы) в новую книгу и сохраните эту книгу под другим именем. Затем используйте эту новую книгу, которая не содержит формул, в качестве источника данных в UFT.

Это может занять < 60 строк кода VBScript в UFT, и это навсегда решит вашу проблему, независимо от того, какие формулы вы выбрали для использования в будущем.

Другие вопросы по тегам