Циклическое копирование в SAP останавливается, когда встречается край экрана VBA - PullRequest
0 голосов
/ 25 апреля 2018

Вчера я получил некоторую помощь по использованию цикла для копирования данных в столбец SAP для передачи данных в Excel. Я смог получить его копирование и перемещение вниз по столбцу, однако теперь он прекращает копирование (ошибка 619 не может найти идентификатор), когда достигает нижней части моего экрана. Я предполагаю, что это потому, что он больше не может «видеть» значения, но мне было интересно, знает ли кто-нибудь работу вокруг. Вот соответствующий код, который у меня есть. Примечание: я начинаю с 16 из-за того, как скрипт записывает положение полей. Он начинается в 16 и оттуда увеличивается на 1.

'Copy Number of Batches in Column
Number_of_Batches = session.findById("wnd[0]/usr/lbl[74,13]").Text
session.findById("wnd[0]/usr/lbl[74,13]").caretPosition = 5

'Variable for copying down the SAP Column
For i = 16 To Number_of_Batches + 15

'Loops through each bactch for the material code
'Do

'**** Must convert to a string here****
'Copy down SAP column
session.findById("wnd[0]").maximize
Current_Batch = session.findById("wnd[0]/usr/lbl[12," & CStr(i) & "]").Text
session.findById("wnd[0]/usr/lbl[12," & CStr(i) & "]").caretPosition = 6
session.findById("wnd[0]").sendVKey 0

'Pastes to all SAP Batches Column
Cells(Z, 10) = Current_Batch

Z = Z + 1

Next i

1 Ответ

0 голосов
/ 25 апреля 2018

Добавьте

session.findById("wnd[0]/usr/lbl[12," & CStr(i) & "]").setFocus

Это может быть необязательно для каждой строки, поэтому вы можете установить фокус на каждом 10-м шаге.

...