Ich automatisiere SAP mittels VBA über die Schnittstelle SAP-Scripting. Trotz aller Erfahrung scheitere ich gerade an einer Stelle.
SAP bringt bei Aufruf eines Sachverhaltes in einer eigenen Leiste Warnungen, z.B. "Bitte Anschrift klären", diesen Text möchte ich gerne auslesen, jedoch scheint er in der ganzen Struktur des Elementes nicht textlich hinterlegt zu sein wie man es beispielsweise von Popups kennt. Diese Leiste ist nicht vorhanden, wenn es keine Warnungen gibt und wenn es eine Warnung gibt, besteht sie aus zwei Children:
wnd[0]/shellcont[0]/shellcont/shell/shellcont[0]/shell --> Die Schaltfläche um die ganze Leiste auszublenden
wnd[0]/shellcont[0]/shellcont/shell/shellcont[1]/shell --> Der Bereich mit den Texten in dieser Leiste
Einige Eigenschaften des Elementes mit den Texten:
BrowserHandle: Nothing
Children.Count: 0
Handle: 788884
ID: wnd[0]/shellcont[0]/shellcont/shell/shellcont[1]/shell
SubType: HTMLViewer
Text: SAP.HTMLControl.1
Type: GuiShell
Was ich bisher bei meiner Recherche gefunden habe, mündet immer in der Lösung über das BrowserHandle den InnerText des Bodys des Dokuments auszulesen, so wie es beispielsweise auch die KI von Google ausgibt:
Dim shellObj, browserObj, doc, text
Set shellObj = session.FindById("wnd[0]/shellcont[0]/shellcont/shell/shellcont[1]/shell")
Set browserObj = shellObj.BrowserHandle
Set doc = browserObj.Document
text = doc.body.innertext
Das kann bei mir aber nicht funktionieren, weil das BrowserHandle Nothing ist.
Zur Info, weil es laut vielen gefunden Beiträgen mit SAP 770 mal Probleme gab mit dem BrowserHandle, ich arbeite mit SAP 800, Patch-Level 14
Hat jemand eine Idee, wie ich an den Text komme, der in diesem Element angezeigt wird?