【问题标题】:VBA Excel Not Responding when opened through QTP通过 QTP 打开时 VBA Excel 没有响应
【发布时间】:2015-12-16 09:38:31
【问题描述】:

使用 QTP 脚本执行的操作 --> 打开电子表格 abc.xlsm 后,当调用 Search 宏时,搜索窗口打开并在我点击“时在其中提供搜索条件” Enter”按钮,Excel 进入 Not Responding 状态(宏未完全运行),直到服务器本身给出以下信息:

408 超时请求

当通过手动调用电子表格执行上述相同操作时。它工作得很好。 下面是我用来打开电子表格并执行 Search 宏运行的代码..

Dim wShell
Set oexcel= CreateObject("Excel.Application")
oexcel.Application.Visible=True
Set obook=oexcel.Workbooks.Open("C:\abc.xlsm")
Set osheet=obook.Worksheets("Search")

oexcel.Application.Run("search") 'This is the Search macro that we are runnig
wait 2

Window("search").Activate
Set wShell = CreateObject( "WScript.Shell" )

wShell.SendKeys ("%")  ' this is the input search criteria 
wShell.SendKeys "{TAB}"
wait 2
wShell.SendKeys "{ENTER}"
wait 5  

上面这行代码执行后,excel进入无响应状态。
但是,对于另一个电子表格,相同的代码可以很好地工作,例如 xyz.xlsm 对于相同的搜索宏。而且它总是手动运行良好。

【问题讨论】:

  • 如果同一文件适用于另一个文件,则该文件或该文件的宏一定有问题。请仔细检查。
  • @ManishChristian:我的团队看不到 excel 文件的代码,问题是当手动打开它时,相同的 excel 文件可以正常工作...问题仅在 qtp 打开时出现那个文件
  • 在哪一行显示错误,即在 Createobject 或打开等上。尝试放置断点并逐行检查并告诉我们
  • @user5612655 上面的任何代码行都没有显示错误...只是在上面的代码执行之后,excel进入了Not Responding状态并且由于没有执行进一步的代码而永远不会恢复

标签: vba excel qtp hp-uft


【解决方案1】:

UFT 不支持 XLSX/XLSM。是的,我也遇到了这个。脖子上真的很痛,但就是这样。只需使用旧式 .XLS 文件即可。

【讨论】:

  • 首先,我使用的是 QTP 11,其次 UFT 确实支持 XLSX/XLSM。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-19
  • 1970-01-01
  • 2020-10-08
  • 1970-01-01
相关资源
最近更新 更多