Bonjour,

Je suis en train de travailler a intégrer une spreadsheet Excel dans une application Winform. Le but est de pouvoir faire communiquer la spreadsheet avec l'application, et l'application avec la spreadsheet.
Déjà, on va dire que faire communiquer la spreadsheet avec l'application s'appellera la phase 2 :p

J'ai un certain nombre de petit soucis. En terme d'environnement, je suis sur VS2010 et cherche juste a faire marcher le composant sous Excel 2010.
Mon point de départ a été ce petit morceau de code
Il date de 2006, et était développé pour Excel 2003. J'ai du faire quelques ajustements pour le faire marcher sur 2003.
- Appliquer ce petit fix pour éviter que la spreadsheet apparaisse dans une fenêtre a part.
- Ensuite, premier truc moche: Le navigateur demande confirmation pour ouvrir le fichier "téléchargé" (même si en fait il est en local). Pour ca, premier truc infâme, poser un timer en envoyer la combinaison approprie de touche pour "cliquer" sur "ouvrir".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
        private void t_Tick(object sender, EventArgs e)
        {
            timer.Enabled = false;
            SendKeys.Send("{TAB}");
            SendKeys.Send("{TAB}");
            Thread.Sleep(500);
            SendKeys.Send("{ENTER}");
        }
Si quelqu'un a une meilleure idée, je suis preneur

Mais voila le vrai gros bug : Lorsque le navigateur ouvre le fichier Excel, il fait vérifie qu'il n'y a pas une session Excel ouverte. Si oui, il utilise cette même session. Mais dans ce cas, vu qu'il le rebalance dans le navigateur, il freeze la session courante, rendant les spreadsheets ouvertes inutilisable!
J'ai lu pas mal de truc concernant le lancement qui utilise un systeme qui s'appelle DDE que l'on peut modifier dans la base de registre ici :
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command]
Ou encore dans les options d'Excel (Options => Advanced => General => Ignore other applications that use Dynamic Data Exchange (DDE)) qui permet de lancer une nouvelle session d'Excel a chaque ouverture de fichier... rien n'y fait.

Une idée? Toute forme d'aide serait le bienvenue

Merci d'avance