Выберите элемент по имени вместо идентификатора в VBS - PullRequest
0 голосов
/ 11 марта 2019

Я записал скрипт на SAP, который работает на CITRIX.Все работало нормально, пока некоторые элементы не были добавлены в окно, чтобы был выбран правильный элемент для фильтрации столбцов.Я предполагаю, что причина в том, что соответствующий элемент (например, MATART на показанном рисунке) сместился вниз, и это был не тот же ряд, порядок и т. Д.

Мне было интересно, есть ли способ выбрать элемент по егоимя вместо идентификатора?

enter image description here

Это часть скрипта со строкой, которая выбирает элементы:

session.findById("wnd[0]/tbar[0]/okcd").text = "/nzm082"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[33]").press
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").currentCellRow = 1
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").selectedRows = "1"
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").clickCurrentCell
session.findById("wnd[0]/tbar[1]/btn[45]").press

1 Ответ

0 голосов
/ 13 марта 2019

Вы можете проверить следующее.

, например:

...
session.findById("wnd[0]/tbar[1]/btn[33]").press
set myLayout = session.findById("wnd[1]/usr/cntlGRID/shellcont/shell")

Rows = myLayout.RowCount
For i = 0 to Rows - 1 
myVariant = session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").getCellValue (i, "VARIANT")
if myVariant = "MTART" then
   session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").currentCellRow = i
   session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").clickCurrentCell
   Exit For
end if
next
session.findById("wnd[0]/tbar[1]/btn[45]").press
...

С уважением, ScriptMan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...