Instanciation d'un Object + Compatibilité MacOS - VB/VBA/VBS - Programmation
Marsh Posté le 03-11-2010 à 18:19:47
Question 1 : Instanciation d'une session HTTP
est ce que les sub vont être appelé d'un coup ?
ou a des moments différents (en fonction des évenements déclanché dans le fichier excel) ?
(cela va influer sur comment tu va stocker ta connection.)
peut tu donner la manière dont tu te connecte et transmet l'utilisateur/mot de passe à ton objet HttpRequest ? (extrait du code)
Question 2,
je ne connais pas... mais le fait de changer d'OS va jouer sur les librairie disponible ...
en gros faut que tu trouve la librairie qui te permette de créer l'objet HttpRequest ... (est elle disponible)
Si t'as pas de soucis a ce niveau la, je ne vois pas ou pourrait être l'obstacle...
Marsh Posté le 03-11-2010 à 19:40:19
Voici le code qui fonctionne.
Dans un seul SUB, pas de soucis : il se logge, récupère les datas et se délogge (cf commentaires).
Là où ça se corse, c'est quand j'essaie de créer 3 subs séparer :
* un pour le login
* un pour la recup des datas
* un pour le log-out.
L'idée de base étant d'arriver à un bouton unique qui aurait le comportement suivant :
* l'utilisateur clique sur un bouton de récupérer des datas
* SI il y a une session ouverte ALORS on récupère les datas SINON on lui propose de se relogger
Du coup, il faudrait que je puisse vérifier que la session est toujours valide, en interrogeant le contenu de mon objet WinHTTP...
C'est plus clair ?
Code :
|
Marsh Posté le 03-11-2010 à 20:54:56
Je te répondrais mieux avec un exemple demain si j'ai le temps
mais va falloir que tu travailles avec des fonctions au lieu des méthodes
ensuite à ce niveau de programmation (objets et utilisations de librairie)
faut travailler avec option explicit, et typer toutes tes variables.
en gros tu doit faire ça :
déclarer une variable globale de type qui est renvoyé par CreateObject("WinHttp.WinHttpRequest.5.1" )
|
(je suis pas sur du type, à vérifier)
ensuite une fonction Login qui renvoie une connection active
|
(faut accorder le type de retour de ta fonction avec celui de ta variable globale)
en gros ensuite dans les autres procédures tu va tester ta connection
|
c'est de l'approximatif mais ça devrait te donner des idées.
Marsh Posté le 04-11-2010 à 08:26:06
OK, je vais tenter une approche de ce type dans la journée... je coise les doigts
Marsh Posté le 03-11-2010 à 15:47:36
Bonjour à tous,
Je tente le coup et je me jette à l'eau, mes recherches sur le forum et sur Internet (au sens vraiment large) depuis quelques jours me font tourner en bourrique, sur 2 questions assez précises :
Je suis en train de créer un fichier XLS qui, à terme, récupèrera des tableaux de données dispo sur un site Web.
Aujourd'hui, ce site est protégé par une identification SSO, où chaque utilisateur à un login/mot de passe (normal ) et doit s'authentifier pour récupérer les données.
Dans un seul et même SUB, pas de soucis, j'arrive à faire que l'utilisateur le logge, récupère un tableau et se délogge (je ne veux pas stocker les logins/password dnas le fichier - question de sécurité).
J'utilise pour ce faire la méthode CreateObject("WinHttp.WinHttpRequest.5.1" ), et tout se passe bien.
Là où ça se complique, c'est quand je veux séparer les étapes dans des SUB différents... En gros, j'aimerais que l'utilisateur puisse se logger (un SUB), récupérer les tableaux qu'il souhaite (autant de SUB qu'il souhaite) et qu'il se délogge (un dernier SUB).
Sauf que je ne suis pas capable de récupérer l'objet déjà créé et/ou tester son existence pour continuer...
Question plus rapide, mais tout aussi litigieuse : j'aimerais que mon fichier Excel soit compatible avec Excel 2011 sous MacOS, qui permets à nouveau (enfin !) l'usage des macros... Quelqu'un a-t-il déjà tenté l'aventure et si oui, quels sont vos expériences sur le sujet ?
Navré d'avance si les sujets ont été traités ailleurs, je n'ai aps trouvé grand'chose via le moteur de recherche... mais j'espère que la communauté saura me sortir de ces mauvais pas