R1-
XLDnaute Junior
Bonjour,
Je ne sais pas trop dans quoi je me lance mais j'aimerai saisir dans SAP des données provenant d'Excel. mais je ne sais pas du tout comment m'y prendre, j'ai réussi à enregistrer via l'enregistreur de macro SAP une macro que voici :
Bien que je comprenne globalement ce que chaque ligne fait, je ne comprend pas comment faire "tourner" tout ça. J'ai essayé de déclarer ce que je crois être des variables mais au niveau du session.FindById, j'ai une erreur d'exécution '91' "variable objet ou variable bloc with non définie"
Bref je n'y comprend pas grand chose et la documentation pour débutant se fait rare sur le sujet, je suis donc preneur de conseils, recommandation, ou lien vers de la documentation.
Merci par avance pour vos conseils.
PS : j'ai tout de même eu la présence d'esprit d'activer SAP GUI scripting API dans les références.
Je ne sais pas trop dans quoi je me lance mais j'aimerai saisir dans SAP des données provenant d'Excel. mais je ne sais pas du tout comment m'y prendre, j'ai réussi à enregistrer via l'enregistreur de macro SAP une macro que voici :
VB:
Sub test()
Dim Application As Object
Dim SapGuiAuto As Object
Dim Connection As Object
Dim session As Object
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]/usr/ctxtVTTK-TKNUM").Text = "119420" '119420 à remplacer par une variable
session.FindById("wnd[0]/usr/ctxtVTTK-TKNUM").CaretPosition = 6
session.FindById("wnd[0]").SendVKey 0
session.FindById("wnd[0]").SendVKey 5
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").SelectItem " 2", "&Hierarchy"
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").EnsureVisibleHorizontalItem " 2", "&Hierarchy"
session.FindById("wnd[0]/tbar[1]/btn[8]").Press
session.FindById("wnd[0]").SendVKey 7
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").SelectItem " 3", "&Hierarchy"
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").EnsureVisibleHorizontalItem " 3", "&Hierarchy"
session.FindById("wnd[0]").SendVKey 3
session.FindById("wnd[0]").SendVKey 3
session.FindById("wnd[0]").SendVKey 3
session.FindById("wnd[0]").SendVKey 3
End Sub
Bien que je comprenne globalement ce que chaque ligne fait, je ne comprend pas comment faire "tourner" tout ça. J'ai essayé de déclarer ce que je crois être des variables mais au niveau du session.FindById, j'ai une erreur d'exécution '91' "variable objet ou variable bloc with non définie"
Bref je n'y comprend pas grand chose et la documentation pour débutant se fait rare sur le sujet, je suis donc preneur de conseils, recommandation, ou lien vers de la documentation.
Merci par avance pour vos conseils.
PS : j'ai tout de même eu la présence d'esprit d'activer SAP GUI scripting API dans les références.