kate_arsher | Peut-être plus simple en tout cas car je travaille avec les MFC et je suis parti de cet exemple :
http://support.microsoft.com/defau [...] -us;252719
Simplement en créant une nouvelle classe automation avec le classwizard.... J'ai déjà - comme j'ai dit - créé celle d'excel (qui marche bien au demerant, sauf que j'ai ce problème de cases à griser que je n'avais pas avec excel 97, le problème c'est que l'on est passé à office 2003 et je suis bon pour me retaper tout le boulot...).
Je me retrouvre donc avec ce style de code :
Code :
- _Application oWord ;
- Documents oDocs;
- _Document oDoc;
- COleVariant vOpt(DISP_E_PARAMNOTFOUND, VT_ERROR); //For optional args
- //Start Word
- if(!(oWord.CreateDispatch("Word.Application", NULL)))
- {
- AfxMessageBox("Error starting Word.", MB_SETFOREGROUND);
- return;
- }
- oDoc = oDocs.Open(COleVariant("C:\\Doc1.doc" ), vOpt, vOpt, vOpt,
- vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt,
- vOpt, vOpt, vOpt, vOpt);
|
j'abrège un peu (et je n'ai pas mon code devant moi...), et j'ai à ma disposition une classe Find, qui à une fonction membre execute, ayant les mêmes paramètres que le find de VBA (forcément). Comme je le dis, c'est certainement au niveau du type de paramètres que cela foire, puisque l'appli marche (ouverture de word, ouverture d'un document et d'autres petites choses comme la sélection), mais pas le find....
Si j'apelle Find.SetText (vu qu'en VBA on peut apeller find.text = "...." ), il me renvoie comme erreur "membre inconnu". Si j'apelle Find.Execute (il y a une flopée de paramètres dont je ne rapelles plus les noms), même en mettant vOpt comme argument partout (COleVariant vOpt(DISP_E_PARAMNOTFOUND, VT_ERROR);, donc pour les arguments facultatifs), il me répond "type incorrect" (je penses que c'est cela ou type incompatible).
Et j'ai beau retourner le problème dans tout les sens, rien à faire....
ps : j'avais développé de la quasi même manière une classe d'automation excel sous office97. Sauf que là, j'avais des #import pour les dlls, je n'était pas passé par les mfc pour générer les classes, et là, j'avoue bien que je bloque... pour le find! même utiliser word pour une correction automatique ou une recherche de synonymes marche sans problèmes.. allez savoir!! n'empêche que là, je suis dessus depuis deux jours et cela me br**** un sacré coup! Alors, s'il y a une âme charitable qui l'a déjà fait... Message édité par kate_arsher le 06-10-2005 à 20:54:19
|