Страницы: 1
RSS
SAP-EXCEL, Преобразование части кода VBScript в VBA с функцией If
 
Добрый день!
Коллеги, нуждаюсь в вашей помощи за разумную плату.
Мне нужно преобразовать часть кода записанного в SAP в VBA с последующим сравнением сумм в файле excel (например, суммы в excel находятся в 10 столбце Лист1) c cуммой в SAP.
При условии, что если сумма в SAP больше суммы в excel, то схлопываем.

Процедура схлопывания:
1) Встаем на первую позицию-сумму в SAP и нажимаем выбор
Код
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPDF05X:6102/tblSAPDF05XTC_6102/txtDF05B-PSBET[9,0]").setFocus
session.findById("wnd[0]").sendVKey 2

2) Нажимаем на частичный платеж
Код
session.findById("wnd[0]/usr/tabsTS/tabpPART").select

3) Встаем на первую позицию и нажимаем выбор
Код
session.findById("wnd[0]/usr/tabsTS/tabpPART/ssubPAGE:SAPDF05X:6104/tblSAPDF05XTC_6104/txtDF05B-PSZAH[11,0]").setFocus
session.findById("wnd[0]").sendVKey 2

В противном случае
(если сумма в SAP меньше суммы в excel) - прощелкиваем суммы в SAP до тех пор, пока сумма  не станет больше и схлопываем.

Пример прощелкивания сумм в SAP (например, до третьей позиции - суммы)
Код
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPDF05X:6102/tblSAPDF05XTC_6102/txtDF05B-PSBET[9,0]").setFocus
session.findById("wnd[0]").sendVKey 2
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPDF05X:6102/tblSAPDF05XTC_6102/txtDF05B-PSBET[9,1]").setFocus
session.findById("wnd[0]").sendVKey 2
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPDF05X:6102/tblSAPDF05XTC_6102/txtDF05B-PSBET[9,2]").setFocus
session.findById("wnd[0]").sendVKey 2

Часть записанного кода:
Код
[TABLE][TR][TD]session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPDF05X:6102/tblSAPDF05XTC_6102/txtDF05B-PSBET[9,0]").setFocus[/TD][/TR][TR][TD]session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPDF05X:6102/tblSAPDF05XTC_6102/txtDF05B-PSBET[9,0]").caretPosition   = 8[/TD][/TR][TR][TD]session.findById("wnd[0]").sendVKey   2[/TD][TD][/TD][/TR][TR][TD]session.findById("wnd[0]/usr/tabsTS/tabpPART").select[/TD][/TR][TR][TD]session.findById("wnd[0]/usr/tabsTS/tabpPART/ssubPAGE:SAPDF05X:6104/tblSAPDF05XTC_6104/txtDF05B-PSZAH[11,0]").setFocus[/TD][/TR][TR][TD]session.findById("wnd[0]/usr/tabsTS/tabpPART/ssubPAGE:SAPDF05X:6104/tblSAPDF05XTC_6104/txtDF05B-PSZAH[11,0]").caretPosition   = 6[/TD][/TR][TR][TD]session.findById("wnd[0]").sendVKey   2[/TD][TD][/TD][/TR][/TABLE]
 
Не совсем понятно с описания, что у вас есть, и что нужно получить в итоге.
Как выглядит задача, какие входящие данные если оторваться от того, что нужно продублировать что-то из SAP?
 
Ivan.kh, Да понятно все, Есть SAP , В его GUI последовательность действий "схлопывания" и "прощелкивания" описывается вышеуказанным. Далее все по тексту  :D . Те у кого нет SAP в той же конфигурации, что и у ТС с кнопкой " частичный платеж" могут не беспокоится. Остальным грозит разумное вознаграждение.  :D
По вопросам из тем форума, личку не читаю.
 
Цитата
Olesya99 написал:
В противном случае (если сумма в SAP меньше суммы в excel) - прощелкиваем суммы в SAP до тех пор, пока сумма  не станет больше и схлопываем.
Уважаемая Olesya99!
Зачем такие сложности?!  ;)
В SAP - "море" цивилизованных форм для EXCEL вместо Ваших "затей"!  :D
Просто надо потрудиться над ними ("напрячь мозги")  - и не будет никаких проблем!
И никому Платить Не Придется!
 
Запрос уже не актуальный. Всем спасибо.
Изменено: Olesya99 - 08.05.2019 22:57:11
Страницы: 1
Наверх