Привет, коллеги!
Думаю Вы сможете быстро подсказать. Итак: Есть маркрос написанный на VBA, он готовит предварительные данные, и затем используя SAP GUI вносит их в транзакцию MIR7. Проблема в том, что во время работы в транзакции макрос данные еще и считывает из разных окон САП. В общем телодвижений в самом САП довольно много. Работает макрос используя объекты Children, но если в системе что-то меняется или просто меняются пользовательские настройки возникает ошибка. Я где-то читала, что можно обращаться к объектам определенной транзакции без использования Children, а с помощью "постоянных указателей на объект" - это моя интерпритация названия, могу ошибаться. Наш технолог по САП, не программист, подсказала, что скорее всего речь идет о технической информации, доступная после нажатия F1 в определенном поле. Например для транзакции MIR7, поля Дата счета на вкладке Основные данные это:
Screen Data: Program Name - SAPLFDCB, Screen Number - 0010
GUI Data: Program Name - SAPLMR1M, Status - 6000P
Field Data: Table Name - INVFO, Table category - Struct., Field Name - BLDAT, Data Element - INVDT
Field Description for Batch Input: Screen Field - INVFO-BLDAT, Program Name - SAPLMR1M, Screen Number - 6000.

Если так, то подскажите пожалуйста как заменить данный код:
Code:
Dim GuiAuto
Set GuiAuto = GetObject("SAPGUI")
Set oApp = GuiAuto.GetScriptingEngine
Set Connection = oApp.Children(0)
Set Session = Connection.Children(0) 'Session is window launched
Session.sendcommand ("/nmir7") ' mir7 launch
Set comp = Session.Children(0)
comp.Children(4).Children(7).Children(0).Children(0).Children(0).Children(1).Text = Какая-то дата
На код с использованием постоянного имени объекта.
Или это вообще не те имена? Если так, то где можно посмотреть те?
Заранее спасибо.