VBA在弹出窗体上列出每个控件

2020-08-24 01:33发布

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

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


你好

希望您能提供帮助。

我搜寻了互联网,试图找到无济于事的解决方案。

工作已锁定VBA,因此无法记录。 (太简单了)

我擅长打开会话并运行事务。 那里没问题。

我遇到的问题,当导出为电子表格时,出现一个弹出窗口,问一个问题。

(2个选项按钮),表格或数据透视表。

默认值为数据透视表。 我无法使用选项按钮来选择表格。

是否有一种方法可以像Excel VBA中那样从表单中获取信息或循环控件

将CrtCont视作控件

对于UserformSAP.Controls中的每个CrtCont

如果TypeName(CrtCont)=" OptionButton"然后

***'做类似的事情

Session.findByID(" wnd [1]/1TableOPTIONBUTTON2")。按

如果结束

下一个CrtCont

任何对此的帮助都会很棒。

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

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


你好

希望您能提供帮助。

我搜寻了互联网,试图找到无济于事的解决方案。

工作已锁定VBA,因此无法记录。 (太简单了)

我擅长打开会话并运行事务。 那里没问题。

我遇到的问题,当导出为电子表格时,出现一个弹出窗口,问一个问题。

(2个选项按钮),表格或数据透视表。

默认值为数据透视表。 我无法使用选项按钮来选择表格。

是否有一种方法可以像Excel VBA中那样从表单中获取信息或循环控件

将CrtCont视作控件

对于UserformSAP.Controls中的每个CrtCont

如果TypeName(CrtCont)=" OptionButton"然后

***'做类似的事情

Session.findByID(" wnd [1]/1TableOPTIONBUTTON2")。按

如果结束

下一个CrtCont

任何对此的帮助都会很棒。

付费偷看设置
发送
10条回答
太Q了
1楼 · 2020-08-24 01:36.采纳回答

你好Savakis,

我假设你的意思是从网格弹出窗口以导出内容。 如果是的话,下面是一个示例。 您可以通过id来完全访问选项。

似乎您已激活了LAN Low 快速连接,将其切换为高速连接,也许可以解决您的问题。 您可以在此处找到更多信息: https://answers.sap.com/questions/12631936 /problems-with-sap-macros.html

最诚挚的问候
Stefan

代楠1984
2楼-- · 2020-08-24 01:38

Sandra Rossi Stefan Schnell 许多 谢谢你们俩! 这会很有帮助!

compass1988
3楼-- · 2020-08-24 01:46

你好,史蒂芬。

我无法在较低级别访问LAN连接。 :-)

不幸的是,IT部门已将其锁定,我们在Citrix服务器上运行,并且无法访问任何东西,因为所有这些都已被公司锁定。

我打开了脚本日志记录,现在这已将SAP锁定为错误,我已联系IT尝试解决此刻根本没有SAP的问题。 (SAP脚本日志记录在某处有错误?)我认为是SAP问题。

解决后会尽快与您联系。

但是,感谢您到目前为止所做的工作。

SAP浪
4楼-- · 2020-08-24 01:46

Hello Savakis,

这太可怜了,以致您无法在不使用SAP GUI脚本的情况下使用它 限制。 但很高兴得知您找到了解决方案,感谢您的分享。

最诚挚的问候
Stefan

Tong__Ming
5楼-- · 2020-08-24 01:36

感谢您对Stefan的帮助

最终的答案如下所示。

 Session.findById(" wnd [0]/tbar [1]/btn [8]")。按'(Execute btn [8])
 Session.findById(" wnd [0]/tbar [1]/btn [16]")。按"导出SAP
 Session.findById(" wnd [1]/tbar [0]/btn [0]")。按"确定"勾号按钮
 Session.findById(" wnd [1]/usr/sub/2/sub/2/1/rad [0,0]")。选择"选择表
 Session.findById(" wnd [1]/usr/sub/2/sub/2/1/rad [0,0]")。SetFocus'选择表焦点
 Session.findById(" wnd [1]/tbar [0]/btn [0]")。按"确定"勾号按钮
 Session.findById(" wnd [1]/tbar [0]/btn [0]")。按"确定" excel键

Hello Savakis,

它有可能使用相同的ID,但我不知道。 请查看您的LAN Speed Connection,让我们知道您的设置是什么。 如果将其设置为低,请将其设置为高并再次记录您的活动。

最诚挚的问候
Stefan

lukcy2020
7楼-- · 2020-08-24 01:42

那是出色的Stefan。 你是一个了不起的人。

弹出的窗口是一样的,但是是英文的。

我可以这样写吗,可以正常工作?

Session.findByID(" wnd [1]/usr/subSUBSCREEN_STEPLOOP.SAPLSPO5:0150/radSPOPLI-SELFFLAG [0,0]")。按

明天上班时我会尝试这个。

非常感谢。

一周热门 更多>