Re : Ouverture fichier excel depuis internet
Re,
Cela ne m'en dira pas beaucoup plus si ce n'est que dans ton document (IEdoc) tu dois avoir un lien vers ton fichier, c'est ce lien qu'il faut récupérer.
Ce n'est malheureusement pas un lien mais un bouton de validation.
Lorsque l'on clique sur ce dernier cela ouvre la fenetre de confirmation (avec les 3 boutons: "Ouvrir, Enregistrer, Annuler".
Je simule le clic du bouton "Ouvrir" via la fonction "keybd_event" en envoyant la lettre "v" qui correspond au raccourci clavier d'ouverture.
Jusque la il n'y a aucun probleme au niveau de l'exécution du code et de la navigation sur l'intranet.
Mais une fois le bouton "Ouvrir" simulé, le fichier ne se charge pas dans l'instance Excel appelante...
parce que la macro n'a pas fini son exécution.
Avant IE.Quit tu attends l'ouverture de la page de confiration, tu récupères le nom du bouton "ouvrir" et tu lance son Click
En fait, l'intranet génère une nouvelle fenêtre internet explorer qui une fois chargée affiche une boite de téléchargement.
L'instruction IE.Quit ferme l'autre fenêtre.
Le probleme c'est que sur les fenetres de téléchargement, les controles n'ont pas de nom ou alors je n'y ai pas acces car je n'ai pas le code source.
Le fichier a ouvrir se situe sur un serveur, d'où mon obligation de passer par l'intranet.
Je suis désolé de ne pas avoir d'exemple fonctionnel sous la main...
Par analogie avec mon problème, on rencontre le même souci lorsqu'on affiche un UserForm ou un MsgBox et qu'on essaye d'ouvrir un autre fichier Excel depuis un répertoire en cliquant dessus.
L'idée serait carrément de rendre la fenêtre (et non l'instance) non modale pendant une certaine durée, comme pour les UserForm, ce qui permettrait l'exécution de la commande d'ouverture.
Ceci n'est qu'une idée car je doute qu'on puisse faire ca avec une fenêtre Excel.
A+