我有一个使用(Excel VBA)的宏来完成发票申请。宏打开发票并在许多不同的屏幕上提取信息。然后关闭发票,在下一个屏幕上查找“预订”一词。一旦找到“预订,就应该打开下一张票。
使用IE 8 / iMacros 9,宏没有遇到任何问题。然而,最近,我们升级到IE 11和iMacros 10.当用户现在运行宏时,他们可以得到“iMacros已经停止工作。一个问题导致程序停止正常工作。请关闭程序。”消息。
以下是宏正在寻找单词“reservation”的循环。这似乎是发生错误/问题的地方。
lCnt = 0
vpagehead = ""
Do Until InStr(1, vpagehead1, "Reservation Number") > 0 Or InStr(1, vpagehead1, "servation:") > 0 Or lCnt = 25
IM = ""
IM = "CODE:"
IM = IM + "TAB T=1" + vbNewLine
IM = IM + "TAB CLOSEALLOTHERS" + vbNewLine
IM = IM + "FRAME NAME=ReservationDetailFrame" + vbNewLine
IM = IM + "SET !TIMEOUT_STEP 10" + vbNewLine
IM = IM + "TAG POS=11 TYPE=TD ATTR=* EXTRACT=TXT" + vbNewLine
IM = IM + "WAIT SECONDS=1" + vbNewLine
iret = iim1.iimPlay(IM)
vpagehead1 = iim1.iimGetLastExtract
lCnt = lCnt + 1
Loop
有没有人知道为什么这段代码会导致导致iMacros关闭的问题?
感谢您的帮助..........
答案 0 :(得分:0)
我认为问题不在代码中。正如您所说,代码工作正常,因此唯一改变的是浏览器和iMacro的版本。
IE11更新可能会破坏您的宏:
http://imacros.net/microsoft-update-for-ie11-kb3025390-breaks-tag-command-in-imacros-for-ie
如果必须在IE11中使用iMacros,则另一种解决方法是卸载 Microsoft更新KB3025390。这是一个非安全相关的更新,所以 卸载它不会给IE带来更大的风险。