2017-06-29 138 views
-1

執行一個事務後,我得到一堆用戶id,然後我複製它並粘貼到事務的另一部分 我想在VBA的幫助下做到這一點,但「UPLOAD FROM CLIPBOARD「似乎不起作用。 有人可以幫忙嗎?從剪貼板上傳不能在VBA中工作Excel

集SAPGUIAuto = GetObject的( 「SAPGUI」)

Set SAPapplication = SAPGUIAuto.GetScriptingEngine 
Set Connection = SAPapplication.Children(0) 

Set session = Connection.Children(0) 

session.findById( 「WND [0]」)。最大化 session.findById(「WND [0]/TBAR [0]/okcd 「)。文本= 」suim「

session.findById(」 WND [0]「)。sendVKey 0

######第一部分######

session.findById( 「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼」)。expandNode 「02 1 2」

session.findById( 「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼」)。topNode =「01 1 1"

session.findById( 「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼」)。expandNode 「03 2 7」

session.findById(「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER /shellcont/shell").selectItem 「04 2 8」, 「1」

session.findById( 「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼」)。ensureVisibleHorizo​​ntalItem 「04 2 8」,「1 「

session.findById( 「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼」)。topNode = 「01 11」 session.findById( 「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼」 ).clickLink 「04 2 8」, 「1」

session.findById( 「WND [0]的/ usr/BTN%ACTGRPSAPP%-V​​ALU_PUSH」)。按

會話。 findById(「wnd [1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I [1,0]」).text =「*******」

session.findById(「wnd [1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I [1,1]」).Text =「*********** 「

session.findById(」 WND [1]的/ usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I [1,2] 「)。文本=」 ******* *****」

session.findById( 「WND [1]的/ usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I [1,2]」)。SetFocus的

session.findById(「wnd [1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I [1,2]」)。caretPosition = 18(wnd [0]/tbar [0]/btn [8]「)。按

session.findById(「wnd [0]/usr/cntlGRID1/shellcont/shell/shellcont [1]/shell」)。currentCellRow = -1

session.findById( 「WND [0]的/ usr/cntlGRID1/shellcont /殼/ shellcont [1] /殼」)。selectColumn 「BNAME」

##### GOT用戶ID串並使用Ctrl + C######的幫助

session.findById複製它( 「WND [0]/TBAR [0]/BTN [3]」)。按 會話.findById( 「WND [0]/TBAR [0]/BTN [3]」)。按

######第二部分###### session.findById(」 WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼 「)。expandNode 」02 110「

session.findById(」 WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼 「)。topNode =」 01 1 1"

session.findById( 「WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼」)。選擇信息 「03 3 1」, 「1」

session.findById(「WND [0]/USR/cntlTREE_CONTROL_CONTAINER/shellcont /殼 「)。ensureVisibleHorizo​​ntalItem 」03 3 1「, 」1「

session.findById(」 WND [0]的/ usr/cntlTREE_CONTROL_CONTAINER/shellcont /殼「)。clickLink 」03 3 1「 ,「1」

session.findById( 「WND [0]的/ usr/BTN%USERAPP%-V​​ALU_PUSH」)。按

session.findById(「WND [1]/TBAR [0] /btn[24]").png session.findById(「wnd [1]/tbar [0]/btn [8]」)。按

在這裏,我複製第一部分中的用戶id並將其存儲到BNAME。 但VBA無法從剪貼板中的第二部分上傳

也許是因爲它沒有在第一部分喜歡按Ctrl + C

回答

0

你可以嘗試以下方法:

'...  
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell").selectColumn "BNAME" 
'---------------------- new ----------------------------------------- 
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell").contextMenu 
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell").selectContextMenuItemByPosition "0" 
'---------------------- new ----------------------------------------- 
'#####Got Bunch of User Ids and copied it with the help of Ctrl+C###### 
'... 
+0

你怎麼總是做它兄弟? 它的作品:) 謝謝你這麼多! –

相關問題