Home Macro can't recognize exported workbook from SAP via VBA
Reply: 0

Macro can't recognize exported workbook from SAP via VBA

user2859
1#
user2859 Published in June 21, 2018, 6:28 am

I have been working on SAP GUI scripting to set up automatic reports. In my macro I'm running SAP transactions, exporting them to excel (which opens a "Workbook in basis(1)") and then copy some info from that file into my "Macro workbook". However, sometimes it works and sometimes it doesn't. The problem is that the excel workbook that is created from SAP is in a different instance, so my macro is unable to use it.

Is there any way in which I can ensure that the excel generated by SAP is always in the same instance? or get my macro to recognize workbooks in other instances?

This is the code I'm using (WB_Macro is the workbook that has the macro itself and WB_SAP is the worbook generated by SAP):

Dim WB_SAP As Workbook

'Save input in variables
countryCode = Sheets("FBL5N").Cells(2, 10).Value
salesOrganization = Sheets("FBL5N").Cells(2, 11)


'Run SAP transaction
objSess.findById("wnd[0]/tbar[0]/okcd").Text = "fbl5n"
objSess.findById("wnd[0]/tbar[0]/btn[0]").press
objSess.findById("wnd[0]/usr/ctxtDD_BUKRS-LOW").Text = countryCode
objSess.findById("wnd[0]/usr/ctxtDD_BUKRS-LOW").SetFocus
objSess.findById("wnd[0]/usr/ctxtDD_BUKRS-LOW").caretPosition = 4
objSess.findById("wnd[0]/usr/btn%_DD_KUNNR_%_APP_%-VALU_PUSH").press
For i = 1 To size
    objSess.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1," & i - 1 & "]").Text = customerCodes(i)
    Next i
objSess.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").caretPosition = 6
objSess.findById("wnd[1]/tbar[0]/btn[8]").press

objSess.findById("wnd[0]/usr/ctxtPA_VARI").Text = "/liber auto"
objSess.findById("wnd[0]/usr/ctxtPA_VARI").SetFocus
objSess.findById("wnd[0]/usr/ctxtPA_VARI").caretPosition = 12
objSess.findById("wnd[0]/tbar[1]/btn[8]").press
objSess.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[1]").Select
objSess.findById("wnd[1]/usr/cmbG_LISTBOX").Key = "08"
objSess.findById("wnd[1]/tbar[0]/btn[0]").press
objSess.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[0,0]").Select
objSess.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[0,0]").SetFocus
objSess.findById("wnd[1]/tbar[0]/btn[0]").press
objSess.findById("wnd[1]/tbar[0]/btn[0]").press

'Activate and Capture SAP generated workbook
Workbooks("Worksheet in Basis (1)").Activate
Set WB_SAP = ActiveWorkbook
Debug.Print WB_SAP.Name

WB_SAP.Sheets(1).Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
objSess.findById("wnd[1]/tbar[0]/btn[0]").press


WB_Macro.Activate
Sheets("FBL5N").Select
Range("Table11[[   CoCd]]").Select
ActiveSheet.Paste
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.308266 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO