标签:findById 初始密码 wnd 重置 Range session usr SAP
系统设定初始密码的有效期是3天,项目组担心用户不能及时重置密码导致密码过期,要求重置所有项目参与人员的初始密码。
简单点说,就是帮用户重置初始密码,用初始密码登录系统,系统弹出输入新密码的密码框,输入新密码,然后退出系统。
直接上代码 下面的代码是VBA代码,测试代码前请打开SAP GUI,不然程序会报找不到SAP GUI的程序,找不到程序的入口。
Sub change_password()
For i = 3 To Range("A65535").End(xlUp).Row Set SapGui = GetObject("SAPGUI") '请双击打开SAP GUI,代码这里会找SAPGUI的程序。 Set Applic = SapGui.GetScriptingEngine Set SAPConn = Applic.OpenConnection("QAS System") ' QAS System是SAP系统的描述信息,不是SID,你本机的SAPGUI的系统描述是什么这里就一摸一样的写。 Set session = SAPConn.Children(0) session.findById("wnd[0]").maximize session.findById("wnd[0]/usr/txtRSYST-MANDT").Text = Sheet1.Range("B" & i).Value session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = Sheet1.Range("C" & i).Value session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = Sheet1.Range("D" & i).Value session.findById("wnd[0]/usr/pwdRSYST-BCODE").caretPosition = 9 session.findById("wnd[0]").sendVKey 0 session.findById("wnd[1]/usr/pwdRSYST-NCODE").Text = Sheet1.Range("E" & i).Value session.findById("wnd[1]/usr/pwdRSYST-NCOD2").Text = Sheet1.Range("E" & i).Value session.findById("wnd[1]/usr/pwdRSYST-NCOD2").SetFocus session.findById("wnd[1]/usr/pwdRSYST-NCOD2").caretPosition = 9 session.findById("wnd[1]").sendVKey 0 session.findById("wnd[0]/tbar[0]/okcd").Text = "/nex" session.findById("wnd[0]").sendVKey 0 Sheet1.Range("F" & i).Value = "done" Next End Sub
Set SAPConn = Applic.OpenConnection("QAS System")
这里的QAS System 就是打开SAP GUI后,SAP GUI里出现的 SAP系统的描述,不是SID,找了很多资料不支持SID。
下图D列就是随机初始密码,E列就是需要重置的密码。
标签:findById,初始密码,wnd,重置,Range,session,usr,SAP 来源: https://www.cnblogs.com/ken-yu/p/16627313.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。