点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试在excel中编程以下问题,如果您已经有打开的连接,则只需运行宏,如果未打开则建立连接..但是我不能,您能帮我吗?/p>
这是我的脚本:
私人Sub btAcessar_Click() 将iUserSap变暗为字符串 Dim iSenhaSap作为字符串 昏暗的应用作为对象 昏暗的连接作为对象 昏暗会话作为对象 昏暗的WshShell作为对象 昏暗的SapGui作为对象 如果cdUsuario =""或cdSenha =""然后 MsgBox" Por青睐,预购我们的产品," vbExclamation,"Informaçãode Acesso" 退出子 万一 卸载我 iUserSap = cdUsuario iSenhaSap = cdSenha 外壳程序" C:\ Program Files(x86)\ SAP \ FrontEnd \ SAPgui \ saplogon.exe",4'文件目录-Nicolas Denye 设置WshShell = CreateObject(" WScript.Shell") 直到WshShell.AppActivate(" SAP Logon")执行 Application.Wait Now + TimeValue(" 0:00:05") 循环 设置WshShell = Nothing 设置SapGui = GetObject(" SAPGUI") 设置Appl = SapGui.GetScriptingEngine 设置连接= Appl.Openconnection(" EWP",True) 设置会话= Connection.Children(0) Application.Wait Now + TimeValue(" 0:00:05") session.findById(" wnd [0]/usr/txtRSYST-MANDT")。text =" 800"'Mandante session.findById(" wnd [0]/usr/txtRSYST-BNAME")。text = iUserSap'Usuário session.findById(" wnd [0]/usr/pwdRSYST-BCODE")。text = iSenhaSap'Senha session.findById(" wnd [0]/usr/txtRSYST-LANGU")。text =" PT"'Idioma session.findById(" wnd [0]")。sendVKey 0'输入 如果session.Children.Count> 1然后 'session.findById(" wnd [1]/usr/radMULTI_LOGON_OPT1")。Select 'session.findById(" wnd [1]/usr/radMULTI_LOGON_OPT1")。SetFocus session.findById(" wnd [1]/tbar [0]/btn [0]")。按 万一 session.findById(" wnd [0]")。maximize 'session.findById(" wnd [0]")。sendVKey 0'输入 如果session.Children.Count> 1然后 退出子 万一 session.findById(" wnd [0]")。maximize ultimaCelula =单元格(ActiveSheet.UsedRange.Rows.Count,1)。行 session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/nzwm015"'Transação session.findById(" wnd [0]")。sendVKey 0 对于i = 4至ultimaCelula 如果Cells(i," e")。Value =""或为空,则 MsgBox" Processo deAlteraçãoFinalizado",vbInformation," EXCEL to SAP"'Mensagem de Alerta 退出子 万一 session.findById(" wnd [0]/usr/ctxtP_LGNUM")。text = Cells(i," d")'Númerodo CD session.findById(" wnd [0]/usr/ctxtS_LGPLA-LOW")。text = Cells(i," e")' session.findById(" wnd [0]/usr/ctxtS_LGPLA-LOW")。SetFocus session.findById(" wnd [0]/usr/ctxtS_LGPLA-LOW")。caretPosition = 9 session.findById(" wnd [0]/tbar [1]/btn [8]")。按 session.findById(" wnd [0]/usr/cntlBCALVC_TOOLBAR_D100_C1/shellcont/shell")。setCurrentCell -1,"" session.findById(" wnd [0]/usr/cntlBCALVC_TOOLBAR_D100_C1/shellcont/shell")。SelectAll session.findById(" wnd [0]/usr/cntlBCALVC_TOOLBAR_D100_C1/shellcont/shell")。pressToolbarButton" C_VAL" session.findById(" wnd [1]/usr/ctxtLQUA-VFDAT")。text = Cells(i," g")'验证数据 session.findById(" wnd [1]/usr/ctxtLQUA-VFDAT")。caretPosition = 10 session.findById(" wnd [1]/tbar [0]/btn [5]")。按 session.findById(" wnd [0]")。sendVKey 3 接下来我 如果cdAcessarSair.Value = True,则 session.findById(" wnd [0]")。关闭 session.findById(" wnd [1]/usr/btnSPOP-OPTION1")。press 万一 结束子
尼古拉斯·克里斯皮姆
你好尼古拉斯
尝试检查该 打开SAP GUI登录,存在打开的连接。
不是很优雅,可以重复很多代码。 但这没关系。 重要的是认识到必须在多个级别上进行检查:
所有这些级别都需要不同类型的处理。
最诚挚的问候
Stefan
一周热门 更多>