ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: huangyansz

[求助] VBA如何控制SAP

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-12-4 16:39 | 显示全部楼层

回复 4楼 huangyansz 的帖子

下面代码怎么写出来的,谢谢
Session.findById("wnd[0]").maximize
Session.findById("wnd[0]/tbar[0]/okcd").Text = "/nlx03"
Session.findById("wnd[0]").sendVKey 0
Session.findById("wnd[0]/usr/ctxtS1_LGNUM").Text = Cells(1, 1)
Session.findById("wnd[0]/usr/ctxtS1_LGTYP-LOW").Text = "aqm"
Session.findById("wnd[0]/usr/ctxtS1_LGPLA-LOW").Text = "htk"
Session.findById("wnd[0]/usr/ctxtS1_LGPLA-LOW").SetFocus
Session.findById("wnd[0]/usr/ctxtS1_LGPLA-LOW").caretPosition = 3
Session.findById("wnd[0]/tbar[1]/btn[8]").press
Session.findById("wnd[0]/mbar/menu[4]/menu[5]/menu[2]/menu[2]").Select
Session.findById("wnd[1]/usr/sub:SAPLSPO5:0101/radSPOPLI-SELFLAG[1,0]").Select
Session.findById("wnd[1]/usr/sub:SAPLSPO5:0101/radSPOPLI-SELFLAG[1,0]").SetFocus
Session.findById("wnd[1]/tbar[0]/btn[0]").press
Session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "htk.xls"
Session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 7
Session.findById("wnd[1]/tbar[0]/btn[11]").press

TA的精华主题

TA的得分主题

发表于 2010-12-4 16:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 11楼 xiayouzi 的帖子

有什么学习资料吗?是否是SAP中的编程语言啊
比如ABAP basis
还是SAP GUI Script 录制的,如果是录制的,怎么录制呢?
录制程序?谢谢

TA的精华主题

TA的得分主题

发表于 2010-12-4 17:00 | 显示全部楼层
关注中,我也要每天向excel和SAP中输入大量数据,如果能在输完excel后再用vba直接把数据导入到SAP中就大大提高工作效率了。

TA的精华主题

TA的得分主题

发表于 2010-12-9 18:10 | 显示全部楼层
我也录制了一段代码供大家研究一下。
    If Not IsObject(Application) Then
        Set SaGguiAuto = GetObject("SAPGUI")
        Set Application = SapGuiAuto.GetScriptingEngine
    End If
    If Not IsObject(Connection) Then
        Set Connection = Application.Children(0)
    End If
    If Not IsObject(session) Then
        Set session = Connection.Children(0)
    End If
    If IsObject(WScript) Then
        WScript.ConnectObject session, "on"
        WScript.ConnectObject Application, "on"
    End If
        
    session.findById("wnd[0]").maximize
    session.findById("wnd[0]/usr/txtGV_USER").Text = "0107"
    session.findById("wnd[0]/usr/txtGV_HUNO").Text = "7216124"
    session.findById("wnd[0]/usr/ctxtGV_DATE").Text = "2010.12.5"
    session.findById("wnd[0]/usr/ctxtGV_ZZMACH_GRP").Text = "1050"
    session.findById("wnd[0]/usr/ctxtGV_ZZMACH_GRP").SetFocus
    session.findById("wnd[0]/usr/ctxtGV_ZZMACH_GRP").caretPosition = 3
    session.findById("wnd[0]").sendVKey 0
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/btnQMICON-ICEXP_KOM[10,0]").SetFocus
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/btnQMICON-ICEXP_KOM[10,0]").press
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,1]").Text = "0.5"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,2]").Text = "0.75"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,3]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,4]").Text = "1"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,5]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,6]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,7]").Text = "1"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,8]").Text = "0.75"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,9]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,10]").Text = "0.75"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,11]").Text = "0.75"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,12]").Text = "1"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,13]").Text = "0.75"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,14]").Text = "1"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,15]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,16]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,17]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,18]").Text = "0.5"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,19]").Text = "0.25"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,20]").Text = "0.75"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,21]").Text = "1"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,22]").Text = "0.5"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,23]").Text = "0"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,24]").Text = "0.5"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,1]").Text = "F4201"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,2]").Text = "F4201"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,3]").Text = "F4201"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,4]").Text = "F4201"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,5]").Text = "F4202"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,6]").Text = "F4202"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,7]").Text = "F4202"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,8]").Text = "F4202"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,9]").Text = "F4202"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,10]").Text = "F4203"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,11]").Text = "F4203"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,12]").Text = "F4203"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,13]").Text = "F4203"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,14]").Text = "F4203"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,15]").Text = "F4203"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,16]").Text = "F4203"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,17]").Text = "F4204"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,18]").Text = "F4204"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,19]").Text = "F4204"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,20]").Text = "F4204"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,21]").Text = "F4204"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,22]").Text = "F4204"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,23]").Text = "F4205"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/ctxtQAMKR-MASCHINE[12,24]").Text = "F4205"
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,1]").SetFocus
    session.findById("wnd[0]/usr/tabsEE_DATEN/tabpSISP/ssubSUB_EE_DATEN:SAPLQEEM:0202/tblSAPLQEEMSUMPLUS/txtQAQEE-SUMPLUS[11,1]").caretPosition = 3
    session.findById("wnd[0]").sendVKey 2
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON").verticalScrollbar.Position = 24
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,0]").Text = "0.25"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,1]").Text = "0.25"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,2]").Text = "0.5"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,3]").Text = "1"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,4]").Text = "0.5"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,5]").Text = "0.25"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,6]").Text = "0.5"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,7]").Text = "0"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,8]").Text = "1"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,9]").Text = "0"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,10]").Text = "0.5"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/txtQAQEE-MESSWERT[1,11]").Text = "0.75"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,0]").Text = "F4205"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,1]").Text = "F4205"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,2]").Text = "F4206"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,3]").Text = "F4206"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,4]").Text = "F4206"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,5]").Text = "F4206"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,6]").Text = "F4207"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,7]").Text = "F4207"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,8]").Text = "F4207"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,9]").Text = "F4207"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,10]").Text = "F4207"
    session.findById("wnd[0]/usr/talSAPLQEEMURWERTON/ctxtQAMKR-MASCHINE[2,11]").Text = "F4208"
    session.findById("wnd[0]/tbar[1]/btn[7]").press
    session.findById("wnd[0]/tbar[0]/btn[11]").press

TA的精华主题

TA的得分主题

发表于 2010-12-14 13:23 | 显示全部楼层

回复 11楼 xiayouzi 的帖子

这些代码不是都不是用户自己写出来的,是在SAP录制时自动生成的sript脚本,不过里面部分参数是可以自己修改的

TA的精华主题

TA的得分主题

发表于 2012-1-10 13:00 | 显示全部楼层
huangyansz 发表于 2010-10-25 10:55
对,是R3版

楼主,请教下,在R3的PP模块中,如何记录操作步骤?谢谢啊!!

TA的精华主题

TA的得分主题

发表于 2012-5-20 10:07 | 显示全部楼层
hoho,留个爪,论坛人才真多啊~~~

TA的精华主题

TA的得分主题

发表于 2012-5-20 22:44 | 显示全部楼层
留个记号,虽然我现在不用SAP了

TA的精华主题

TA的得分主题

发表于 2012-8-18 14:16 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
bketliu 发表于 2010-12-9 18:10
我也录制了一段代码供大家研究一下。
    If Not IsObject(Application) Then
        Set SaGguiAuto =  ...

请问录制后如何导出代码?能否分享一下

TA的精华主题

TA的得分主题

发表于 2013-2-6 11:33 | 显示全部楼层
本帖最后由 xiayouzi 于 2013-2-6 11:36 编辑

Excel VBA 每次运行到Set Application = SapGuiAuto.GetScriptingEngine这里都会出现“尝试将脚本添加到GUI”提示信息,如何去除,让它自动往下运行。
谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-27 17:24 , Processed in 0.042231 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表