Я новичок в сценариях vba и sap gui, может, кто-нибудь укажет мне правильное направление, пожалуйста?
Думаю, у меня проблема с оператором обработки ошибок, может быть. он должен поместить значение значка (зеленый для каждого примера) в столбец C, если таковой имеется, и оставить столбец C пустым, поставить столбец «Без значка» в столбце B, а затем перейти к следующей ячейке и еще раз проверить, есть ли значок илисейчас.
У меня есть список элементов в Excel (столбец A), который я хочу проверить в sap, и вместо того, чтобы проверять один за другим вручную, я работаю над макросом, чтобы проверить все элементы в Excel ивозвращает значение значка (если в sap зеленый цвет, он должен вернуть значение значка и поместить его в столбец «C»), если он не находит значок, следует указать значение: в столбце «B» значок не найден.
Я попытался поставить сообщение об ошибке дальше, но проблема в том, что он работает только один раз, и затем он начинает помещать одно и то же значение в столбцы C и B независимо от того, есть зеленый значок или нет.
Если я не включаю метод обработки ошибок, когда значок отсутствует, vba показывает, что проблема включена, но когда я делаю следующее, она работает правильно (ставит «значок нет») и завершает работу, завершив макрос:
'=====================Column A contains the Numbers I want to check on sap
on error goto msg
For Each rng In Columns("A").Cells.SpecialCells(xlCellTypeConstants)
Elements= Cells(Elem.Row, "A").Value
If Elem.Value Like "?56*"
session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3").Columns.elementAt(0).Width = 4
session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3/lblDV70A-STATUSICON[0,1]").SetFocus
session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3/lblDV70A-STATUSICON[0,1]").caretPosition = 0
Value = session.findById("wnd[0]/usr/tblSAPDV70ATC_NAST3/lblDV70A-STATUSICON[0,1]").IconName
Cells(rng.Row, "C") = value
End If
Next
msg:
cells(rng.row, "D").value = "No icon"
End Sub
Thaзаранее. Regads