【问题标题】:SAP GUI getting excel to copy some items from a table in SAP systemSAP GUI 获取 excel 以从 SAP 系统中的表中复制一些项目
【发布时间】:2017-11-08 08:27:31
【问题描述】:

我正在尝试编写一些代码来从 sap 中提取数据,然后将其放入 Excel 表格中。现在,我的 GUI 进入了正确的 itemnumber。在这里,我一直在尝试使用 GUI 记录器获取一些有用的代码。我试图选择数据,并在此处打开详细信息和选择的数据。我遇到的麻烦是GUI生成的代码没有给我.value.setfocus或类似的东西。所以我不知道如何处理这个问题。 GUI 的代码如下所示:

session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nymm_pricelist"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtS_MATNR-LOW").Text = Cells(currentline, 1).Value
session.findById("wnd[0]/usr/ctxtS_VKORG-LOW").Text = Cells(currentline, 2).Value
session.findById("wnd[0]/usr/ctxtS_VKORG-LOW").SetFocus
session.findById("wnd[0]/usr/ctxtS_VKORG-LOW").caretPosition = 4
session.findById("wnd[0]").sendVKey 8
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").CurrentCellColumn = "LOCALSALES_KBETR"
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectedRows = "0"
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").ContextMenu
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").SelectContextMenuItem "&DETAIL"
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").setCurrentCell 4, "VALUE"
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").selectedRows = "4"
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").ContextMenu
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").CurrentCellRow = 8
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").selectedRows = "8"
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").ContextMenu
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").CurrentCellRow = 10
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").selectedRows = "10"
session.findById("wnd[1]/usr/cntlGRID/shellcont/shell").ContextMenu
session.findById("wnd[1]/tbar[0]/btn[0]").press

关于如何做到这一点的任何想法?

【问题讨论】:

    标签: sap-gui sap-r3


    【解决方案1】:

    您可以尝试以下方法:

    . . .
    session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").ContextMenu
    session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").SelectContextMenuItem "&DETAIL"
    set myGrid = session.findById("wnd[1]/usr/cntlGRID/shellcont/shell")
    myText_4 = myGrid.getcellvalue (4,"VALUE")
    myText_8 = myGrid.getcellvalue (8,"VALUE")
    myText_10 = myGrid.getcellvalue (10,"VALUE")
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    

    问候, 脚本人

    【讨论】:

    • 谢谢,当我解决一个新问题时我会尝试一下,我遇到的 excel 无法正确连接到 sap...
    • 抱歉,刚刚不小心删错问题了。但是谢谢你,你的建议奏效了。我在一些零件号上运行它并获得了一些信息,然后我才能看到所有零件号的 sap 上下文详细信息的设置方式不同,因此我没有获得所有数字所需的信息。
    • 也许你可以帮我解决这个问题? stackoverflow.com/questions/47177189/…
    猜你喜欢
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2023-02-02
    相关资源
    最近更新 更多