我对堆栈溢出和VBA非常陌生,所以请原谅我的问题中的任何错误。我们正在尝试使用脚本从SAP界面下载一个表到一个.txt文件中。
每当我们试图运行代码时,就会得到错误“id无法找到控件”。
我们正试图按下的按钮
我们尝试过的事情:
,
。
据我所知
的excel中的脚本号之间存在冲突。
公开声明函数SetForegroundWindow _ Lib "user32“(ByVal hwnd As Long)为Long Sub SA_Dump() Dim App,Connectionsession As Object Set SapGuiAuto = GetObject("SAPGUI") Dim setFocus As Long Set App = SapGuiAuto.GetScriptingEngine Set Connection = App.Children(0) Set session = Connection.Children(0) Dim wsh作为对象集wsh = CreateObject("WScript.Shell") Dim sCestaGrid作为字符串范围(“A2:a”& Range("A“& Rows.Count).End(xlUp).Row).Copy setFocus = session.ActiveWindow.Handle SetForegroundWindow setFocus (现在+(”0:00:05“))‘重置字段(”WScript.Shell“) 147,25,False session.findById("wnd/usr/subSUB01:/SCF/SG/CA_110SPPDRPSB1:1005/subSUB01:/SCF/SG/CA_110SPPDRPSB1:1001/btnRESETSIMPLESEL").press‘点击选择窗口session.findById("wnd/usr/subSUB01:/SCF/SG/CA_110SPPDRPSB1:1005/subSUB02:/SCF/SG/CA_110SPPDRPSB1:1002/btnSGNT_0000034-MATNR_V").press’点击复制从剪贴板session.findById(“wnd1 1/tbar/btn24 24”).press的点击检查条目标记会话。session.findById("wnd/usr/subSUB01:/SCF/SG/CA_110SPPDRPSB1:1005/subSUB01:/SCF/SG/CA_110SPPDRPSB1:1001/btnBUTTON01").press (“end 1/tbar/btn”).press‘点击复制按钮session.findById(“end 1/tbar/btn 8”).press’点击Go按钮.press‘清除剪贴板,以避免在结束时弹出以关闭Excel Application.CutCopyMode = False’点击导出(错误发生在这里!!)session.findById("wnd/usr/subSUB02:/SCF/SG/CA_110SPPDRPSB1:*2119*/subSUB03:/SCF/SG/CA_110SPPDRPSB1:*2141*/cntlCONTAINER_7/shellcont/shell").pressToolbarContextButton "&MB_EXPORT“session.findById("wnd/usr/subSUB02:/SCF/SG/CA_110SPPDRPSB1:*2119*/subSUB03:/SCF/SG/CA_110SPPDRPSB1:*2141*/cntlCONTAINER_7/shellcont/shell").selectContextMenuItem &PC”按下滴答键session.findById()“session.findById("wnd1/usr/ctxtDY_FILENAME").Text = "Rel_mvmnt.txt“session.findById("wnd1/usr/ctxtDY_FILENAME").caretPosition = 10‘点击替换按钮session.findById(”End 1/tbar/btn 11“).press End Sub
发布于 2022-02-28 16:14:36
我用这种方法,它起作用了:
session.findById("wnd[0]/tbar[0]/okcd").text = "%pc"
如果对你有用就告诉我。
https://stackoverflow.com/questions/66330220
复制相似问题