【问题标题】:DataTable.ImportSheet operation failed.Invalid fileDataTable.ImportSheet 操作失败。文件无效
【发布时间】:2016-10-14 22:54:04
【问题描述】:

我在 UFT 上运行 Excel 测试,有时我收到错误号 20012,即“DataTable.ImportSheet operation failed.Invalid file”。

这是我导入脚本的方式:

DataTable.ImportSheet filepath,scriptname,"Action2"
  • filepath 是我的工作簿的路径,其中包含许多 Excel 工作表(脚本)

  • scriptname:我要运行的脚本的名称

  • Action2:包含所有可能的脚本可能包含的关键字的调用。

请帮忙,我为什么会收到这个错误。

问题在于,这对于某些脚本来说效果很好,而对于其他脚本来说,在运行 3 或 4 次之后就没有了。

我认为问题出在 Excel 本身而不是代码上,使用 Excel 2016 和 UFT 12 时是否有任何问题?

【问题讨论】:

  • 您能给我们举个例子,说明您的filepathscriptname 变量的值是多少?正如@Dave 的answer 所述,问题可能出在您作为参数传递的内容上
  • 由于您仍然面临问题,根据this post,我在这里回复。请在 UFT 中的该行代码中放置一个断点并检查所有变量,确保它们被正确填充,确保文件和工作表都存在(具有完全相同的名称,具有相同的扩展名,.xls 与 @987654327 不同@,这与 xla 等不同)并且“Action2”也存在(只是为了测试)。让我们知道结果

标签: vba excel vbscript automated-tests hp-uft


【解决方案1】:

用于导入工作表的 UFT 语法为:

DataTable.ImportSheet FileName, vtSrcSheet, vtDstSheet 

这意味着您需要将文件名(和路径)作为参数传递给 excel 文件,您要导入的源工作表的名称(或索引),然后是您希望此工作表成为的目标(例如“全局”或“Action1”等)

除非scriptname 恰好是您尝试导入的工作表的确切名称,否则您将收到此错误。

如果要导入整个文件,请使用 Datatable.Import 而不是 Datatable.ImportSheet

【讨论】:

  • 只要文件路径有效并且指向.xls.xlsx 文件,您正在导入的工作表就存在并且具有您指定的名称,并且Action2 存在那么是的,它应该是有效的。如果在运行导入命令时打开工作簿,笔记导入也会失败。
  • 是的,在我的情况下 scriptname 是我尝试导入的工作表的确切名称,我认为我必须将 FilePath 而不是文件名作为参数传递,除非 UFT 如何找到要导入的工作表?
  • 我在导入工作表之前关闭了所有 Excel 实例,这就是为什么我很惊讶为什么会出现这个错误!!
  • 您可以编辑您的问题以显示您正在使用的实际值吗?
  • 您说您使用的是 Excel 2016 但您的文件是 C:\scripts\script1.xls,所以我不得不问:您确定您的文件扩展名正确吗? Excel 2016 文件默认为 xlsx,除非您更改它
猜你喜欢
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 2020-08-26
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多