Fonctionnement Classe/ Référence
Bonjour,
Par rapport à mon poste précédent https://forum.excel-pratique.com/excel/vba-excel-interroger-une-api-195389 pour communiquer en web API avec mon application.
Je viens de voir dans un fichier Excel > VBA > Référence "Therefore API 3.0 Type Libray" que j'ai pu activer. Cela semble a correspond au "fonction" pour interroger notre outil.
Par contre je ne sais pas comment dans mon VBA par exemple dire/utliser la classe TherServer (c'est la fonction qui permet de se connecter au serveur)
Pourriez-vous m'aiguiller ?
Bonjour,
Auriez-vous le lien de la doc du 2e screen ? c'est certainement là qu'il faut chercher pour des exemples.
Bonjour,
je suis toujours sur essayer de faire fonctionner en VBA
je suis arrivé à me connecter :
Option Explicit
Dim TheServer
Dim TheDocument
Dim TheQuery
Sub testAll()
Set TheServer = CreateObject("TheAPI.TheServer")
Set TheDocument = CreateObject("TheAPI.TheDocument")
Set TheQuery = CreateObject("TheAPI.TheQuery")
counter = 0
TheServer.Connect (6)
If (TheServer.Connected = 0) Then
MsgBox "Error Connecting to Therefore!"
Exit Sub
Else
MsgBox "ok connexion"
End If
'Call TheQuery.Create("")
'Call TheQuery.Category("30")
'TheQuery.SelectFields ("1253")
'Call TheQuery.Conditions(1256, "=toto")
'Call TheQuery.Execute
'Call TheQuery.QueryinOneCategory.TheFieldList(1253)
'Call TheQuery.QueryinOneCategory.TheConditionList(1256, "=toto")
End SubLa je suis sur comment faire pour envoyer une demande information c'est le bas du code.
Mais cela fonctionne pas :( tout les codes que je lance indique erreur 438 (propriété ou méthode non géré par cet objet)
Quand je commence à taper le "Thequery.." j'ai pas de fenêtre de " Auto Complétion" pour avoir les choix des propriété/méthode. c'est possible que "L autocomplétion" ne fonctionne pas sur cette "référence" ?
il me manque quelque chose dans mon code? j'ai mal déclaré quelque chose?
Bonjour,
Vous n'avez pas l'autocomplétition car, meme si vous avez ajouté la bibliothèque de référence, vous déclarez vos variables en tant que Variant, et les créez avec CreateObject. C'est du "late-binding", il faut absolument travailler en "early-binding" si vous voulez l'autocomplétition. Je vous laisse chercher sur internet si vous ne savez pas de quoi je parle.
Donc selon moi, au vu de votre code, il faudrait plutot écrire quelque chose de ce type :
Dim TheServer As TheAPI.TheServer
Dim TheDocument As TheAPI.TheDocument
Dim TheQuery As TheAPI.TheQuery
Sub testAll()
Set TheServer = New TheAPI.TheServer
Set TheDocument = New TheAPI.TheDocument
Set TheQuery = New TheAPI.TheQuery
' ...Pour info, la documentation dont je parlais, la voici Developers Guide
Et l'introduction Connect to the Therefore Server indique une procédure complètement différente de la votre, en effet il n'y a pas dans votre code de lien entre les objets Query et Server donc a priori je ne vois pas comment cela pourrait fonctionner. Prenez le temps de bien lire la doc, comme vous l'avait indiqué @GVIALLES. Avant d'écrire des requêtes, il faut s'assurer que les différents objets sont bien connectés.