Automatisation SAP GUI d'une macro
Bonsoir,
j'ai un petit problème que j'essaie de résoudre en vain, je ne m'y connais pas trop en développement informatique.
J'ai une transaction à effectuer, et pour que cela soit plus simple j'aimerais l'automatisé, j'ai enregistrer un script que je met en .txt dans un dossier bien particulier, donc j'aimerais que le programme lise ce fichier text automatiquement et qu'il me transfère ces données dans mon fichier excel nommé "text.xlsm" sur la feuille nommé "Immo".
Je vous joint mon classeur excel "test"
Je vous transmet le script :
If Not IsObject(application) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
Set connection = application.Children(0)
End If
If Not IsObject(session) Then
Set session = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "S_ALR_87012284"
session.findById("wnd[0]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/radBILAGRID").select
session.findById("wnd[0]/usr/ctxtSD_KTOPL-LOW").text = "PCGR"
session.findById("wnd[0]/usr/ctxtSD_BUKRS-LOW").text = "0092"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILAVERS").text = "BIFR"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILASPRA").text = "FR"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtBILBJAHR").text = "2019"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtB-MONATE-LOW").text = "1"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtB-MONATE-HIGH").text = "8"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtBILVJAHR").text = "2018"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtV-MONATE-LOW").text = "1"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtV-MONATE-HIGH").text = "12"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILAGVAR").text = "1SAP"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILATVAR").text = "1SAP"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILATVAR").setFocus
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILATVAR").caretPosition = 4
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30").select
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/chkALLGALTK").selected = true
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtBILABTYP").text = "1"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtSTICHTAG").text = "04.06.2019"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtKURS_TYP").text = "M"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtKURS_TYP").setFocus
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtKURS_TYP").caretPosition = 1
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2").select
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILABKON").text = "3"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILAGKON").text = "3"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILAVART").text = "1"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").text = "0/0"
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").setFocus
session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").caretPosition = 3
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[2]").select
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").select
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").setFocus
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "SCRIPT1.TXT"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 11
session.findById("wnd[1]/tbar[0]/btn[0]").press
J'aimerais automatisé plusieurs transaction sur la même feuille mais je pense que je peut le faire si j'ai un exemple.
Merci d'avance, bonne soirée!!
personne pour m'aider ? je galère vraiment :/