访问GuiShell/sapeditor.sapeditorctrl.1中的文本

2020-09-02 20:40发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

我有一个类型为GuiShell的SAP对象。

这是一个控件,用于读取写入的文本,我想使用SAP脚本访问该文本。

正如您在屏幕快照中看到的那样,我从GuiShell对象(" wnd [0]/usr/shell [1]")收到的唯一文本是" sapeditor.sapeditorctrl.1"-我想它就像是SubType! ?


您是否知道如何访问和读取/写入此对象中的真实文本?

实际上,唯一的方法/解决方法是使用剪贴板读取和写入文本。 但这只是万不得已...

感谢您的帮助!

问候,Kai

(82.2 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

我有一个类型为GuiShell的SAP对象。

这是一个控件,用于读取写入的文本,我想使用SAP脚本访问该文本。

正如您在屏幕快照中看到的那样,我从GuiShell对象(" wnd [0]/usr/shell [1]")收到的唯一文本是" sapeditor.sapeditorctrl.1"-我想它就像是SubType! ?


您是否知道如何访问和读取/写入此对象中的真实文本?

实际上,唯一的方法/解决方法是使用剪贴板读取和写入文本。 但这只是万不得已...

感谢您的帮助!

问候,Kai

(82.2 kB)
付费偷看设置
发送
5条回答
一只江湖小虾
1楼-- · 2020-09-02 20:58

您好,

据我所知,SAP GUI脚本不支持sapedit.ocx。 因此,您必须使用其他方式,例如 例如剪贴板或AutoIt。

最诚挚的问候
Stefan

代楠1984
2楼-- · 2020-09-02 21:04

你好Stefan,

抱歉,我的回复很晚,我最近几天很忙,正在休假。
感谢您的autoIt代码段。

您的代码是在sapedit字段中写入的,这与我的C#库中的写法类似。
更大的问题是读取sapedit控件的内容(不使用 剪贴板)。 您有阅读此内容的摘要或想法吗?


亲切的问候,

落灬小鱼
3楼-- · 2020-09-02 20:54

您好,斯特凡,

感谢您的答复。

您知道是否可以使用AutoIt直接(没有剪贴板)访问文本吗?

我不在我的项目中使用AutoIt,但是如果有一种方法可以使用AutoIt访问文本,那么也应该有一种方法实际上是通过C#进行访问。

顺便说一句:感谢您出色的脚本跟踪器:)

亲切的问候

Kai

哎,真难
4楼-- · 2020-09-02 20:51

Hello Kai,

正如Stefan解释的那样,此处使用的控件(SAPScript编辑器)没有脚本API。 但是,在许多使用此控件的应用程序中,您可以从这种类型的编辑器切换到使用纯输入字段的基于行的编辑器。 如果您的应用程序是这种情况,则可以考虑先切换编辑器。 之后,您可以通过常规输入字段访问内容。

最诚挚的问候,
弗兰克

风早神人
5楼-- · 2020-09-02 21:07

你好,

感谢 您的好话。

我不知道如何在C#中执行此操作,但是在AutoIt中,它看起来可能像这样:

 Opt(" WinTitleMatchMode",-4)
 本地$ SAPWindows = WinList(" [CLASS:SAP_FRONTEND_SESSION]")
 对于$ i = 1到$ SAPWindows [0] [0]
   如果StringLeft($ SAPWindows [$ i] [0],16)="超文本ändern",则
     WinActivate($ SAPWindows [$ i] [0])
     发送(" {SHIFTDOWN} t {SHIFTUP}他的{SPACE}是{SPACE} a {SPACE}测试{ENTER}")
   万一
 接下来

首先,我获得所有SAP前端会话的列表,然后在窗口上循环,然后选择一个标题以Hyptertextändern开头的窗口,然后激活该窗口并在其中键入文本。/p>

最诚挚的问候
Stefan

一周热门 更多>