0

我的脚本正在运行,但是有一个字段我无法弄清楚如何在 VBA 脚本中进行更改。我需要根据 Excel 中的条目对其进行更改。

这是我遇到问题的脚本,我用粗体显示的值(4)。

我在手动更改值时进行了测试,它可以工作。但我需要的是根据 excel 文件中的数据 将值( 4 )更改为不同的值。

Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/tblSAPMV50ATC_LIPS_OVER_INB").getAbsoluteRow( 4 ).Selected = False Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/ tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/tblSAPMV50ATC_LIPS_OVER_INB/txtLIPS-POSNR[0, 4 ]").SetFocus Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/ tblIPS-POSNR[0, 4]"). txtLIPS-POSNR[0, 4 ]").caretPosition = 0

示例:如果 Excel 文件在 G 列中显示“20”,则将上面的 ( 4 ) 更改为 ( 1 ) 所以简单地说,根据 excel 值替换脚本中的值。

4

1 回答 1

0

是的,当然,你需要一份case声明。我会这样做:

Select Case value = test_condition

   Case condition_1
      rowResult = 1

   Case condition_2
      rowResult = 2

   ...

   Case condition_n
      result_n

 [ Case Else
      result_else ]

End Select

那么 SAP 代码将是:

Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/tblSAPMV50ATC_LIPS_OVER_INB").getAbsoluteRow(rowResult).Selected = False
Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/tblSAPMV50ATC_LIPS_OVER_INB/txtLIPS-POSNR[0," & CStr(rowResult) & "]").SetFocus
Session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV50A:1202/tblSAPMV50ATC_LIPS_OVER_INB/txtLIPS-POSNR[0," & CStr(rowResult) & "]").caretPosition = 0
于 2018-04-06T18:50:58.410 回答