【发布时间】:2015-01-27 19:17:15
【问题描述】:
我有一个使用 (Excel VBA) 的宏,它通过发票应用程序。该宏打开一张发票并在多个不同的屏幕上提取信息。然后它关闭发票,在下一个屏幕上查找“预订”一词。一旦找到“预订,它应该打开下一张票。
对于 IE 8 / iMacros 9,宏没有遇到任何问题。但是,最近我们升级到了IE 11和iMacros 10,用户现在运行宏时,会出现“iMacros已停止工作。出现问题导致程序无法正常工作。请关闭程序。”消息。
以下是宏正在寻找“预订”一词的循环。这似乎是发生错误/问题的地方。
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 关闭的问题?
感谢您的帮助............
【问题讨论】:
-
@MattiVirkkunen,在学习它之前没有人知道一件事。如果您认为有更好的方法,那么您可以使用 cmets 来提出建议。但是仅仅评论“这是一种可怕的方法,我想辞掉我的工作”在我看来对于开发它并且不遵守社区标准的提问者来说真的很不礼貌。请回到过去,想想也许你在获得经验之前也会犯同样的错误。
-
@Chrismas007....感谢 cmets。我真的很感谢这个论坛。你说的对。你不知道你不知道什么。我来这里是为了尝试学习更好的做事方法,因为我主要是自学成才。然而,当有人只是想获得一些信息时,一些 cmets 是粗鲁和不礼貌的。我不知道为什么有人会浪费时间写一些没有价值的东西。谢谢...
标签: vba internet-explorer excel imacros