Vba 保存时处理两个可能弹出窗口的SAP GUI脚本

Vba 保存时处理两个可能弹出窗口的SAP GUI脚本,vba,sap-gui,Vba,Sap Gui,为采购订单(PO)的价格更新创建脚本 如果我试图更新的价格在PO上已经相同,则会出现问题。然后无需保存任何信息,弹出窗口显示“无数据更改”。这里是脚本停止工作的地方,因为脚本的录制是基于新的价格不同并且可以保存 我试图将if语句添加到代码中,但它不起作用。当新的价格不一样并且需要保存时,它不会保存。 它总是选择Enter,否则不使用语句 session.findById("wnd[0]/tbar[0]/btn[11]").press 'Save on Menu bar If

为采购订单(PO)的价格更新创建脚本

如果我试图更新的价格在PO上已经相同,则会出现问题。然后无需保存任何信息,弹出窗口显示“无数据更改”。这里是脚本停止工作的地方,因为脚本的录制是基于新的价格不同并且可以保存

我试图将if语句添加到代码中,但它不起作用。当新的价格不一样并且需要保存时,它不会保存。 它总是选择Enter,否则不使用语句

session.findById("wnd[0]/tbar[0]/btn[11]").press 'Save on Menu bar

If session.ActiveWindow.Name = "wnd[1]" Then
   If session.findById("wnd[1]").text = "Information" then 
      session.findById("wnd[1]/tbar[0]/btn[0]").press 'If popup and it's only Information type press Enter

      objSheet.Cells(i, 3).Value = "No data changed"  'Information that no change has been done

   Else

      session.findById("wnd[1]/usr/btnSPOP-VAROPTION1").press  'Save in the popup window

      objSheet.Cells(i, 3) = "Updated" 'Information that the new price has been updated

   End if


通过删除
If session.ActiveWindow.Name=“wnd[1]”,脚本将正常工作


   If session.findById("wnd[1]").text = "Information" then 
      session.findById("wnd[1]/tbar[0]/btn[0]").press 'If popup and it's only Information type then press Enter

      objSheet.Cells(i, 3).Value = "No data changed"  'Information that no change has been done

   Else

      session.findById("wnd[1]/usr/btnSPOP-VAROPTION1").press  'Save in the popup window

      objSheet.Cells(i, 3) = "Updated" 'Information that the new price has been updated

   End if

欢迎来到堆栈溢出!一定要检查你好,我试图保持它的最低限度了。希望它是可以理解的,否则我会再次更新它。我已经将标签更正为。这是针对SAPScript技术的,不是SAP GUI脚本。在调试过程中,您可以告诉我们变量的值吗?(。问题与此非常类似,只是在本例中,当没有任何内容可保存时,您会从系统中弹出窗口。在示例中,链接中的状态栏中只有一条消息,表示“无数据更改”.请接受你自己的答案。