Accueil > Forum > > > > Automation de Word avec les MFC
Automation de Word avec les MFC
mardi 24 mai 2005 à 14:53:23 |
Automation de Word avec les MFC

vieira_alice
|
Bonjour, j'essaie de faire un petit programme permettant de compléter un fichier .doc via la technologie OLE Automation de Word. J'arrive à ouvrir le .doc, à aller jusqu'aux signets qui m'intéressent, écrire du texte puis sauvegarder et fermer le document. Je souhaite maintenant insérer une image à partir d'un fichier dans le document. A l'heure actuelle je n'ai pas trouvé grand chose à ce sujet,  . Je pensais au début utiliser la fonction Selection::InsertFile mais quand je l'utilise lors de l'exécution Windows m'enguirlande en me disant que le type n'est pas bon (le type de quoi je sais pas). COleVariant Range ; COleVariant confirmConv; COleVariant link; COleVariant attachment ; Range.vt = VT_DISPATCH ; Range.ppdispVal = (0,0) ; confirmConv.vt = VT_BOOL ; link.vt = VT_BOOL ; attachment.vt = VT_BOOL ; confirmConv.boolVal = false ; link.boolVal = false ; attachment.boolVal = false ; //wchar_t t_test ; char test[20] ; sprintf(test, "test.doc") ; // MultiByteToWideChar (CP_OEMCP,MB_PRECOMPOSED,test,-1,&t_test,0) ; selObj.InsertFile( _T("test.doc"), // chemin du fichier à insérer &Range, // If the specified file is a Word document, // this parameter refers to a bookmark. If the file is another type // (for example, a Microsoft Excel worksheet), // this parameter refers to a named range or a cell range // (for example, R1C1:R3C4). &confirmConv, // demande à l'utilisateur de confirmer l'insertion du fichier : true sinon false &link, // True to insert the file by using an INCLUDETEXT field. &attachment // True to insert the file as an attachment to a WordMail message ) ; J'ai vu en VB qu'ils utilisaient : docWord.Selection.InLineShapes.AddPicture En c++, cela devrait devenir : selOvj.GetInLineShape() mais après je n'ai aucune fonction ressemblant à un AddPicture Est ce que vous auriez une idée ? Alice
|
|
mardi 24 mai 2005 à 16:22:29 |
Re : Automation de Word avec les MFC

speeddo
|
bonjour Alice, tu devrais peut-être regarder la bibliothèque Word. AddPicture se trouve dans la Class InLineShape, qui se trouve elle même dans la class Selection, qui se trouve dans la class Application. Pour voir ces class fais Alt + F11, puis F2. En gros ça donnerait quelquechose comme ça: // Déclaration Variant vMSWord; Variant vFileName; Variant vSelection; Variant vInLineShape; // Connection ou ouverture de Word try { vMSWord = Variant::GetActiveObject("WordApplication"); } catch(...) { vMSWord = Variant::CreateObject("Word.Application"); } vFileName=C:\\Mes Documents\\MonImage;" // Chemin d'accès de ton image vSelection = vMSWord.OlePropertyGet("Selection"); vInLineShape = vSelection.OlePropertyGet("InLineShape"); vInLineShape.OleFunction("AddPicture",vFileName); //ouverture En espérant que cela puisse t'aider! Tiens moi au courant!!
|
|
mardi 24 mai 2005 à 17:22:34 |
Re : Automation de Word avec les MFC

vieira_alice
|
je n'est pas accès directement à Variant mais à COleVariant mais je sais comment récpérer la sélection. pour le inLineShape merci à toi, tu m'as enlevé mon doute quand à la fonction getInLineShape, c'est le bon. Après je n'ai pas de OleFunction mais possibilité de faire un invoke () je vais chercher de ce côté là. Merci encore. Alice PS : alors là il est trop mimi ce chat !!! (c'est pas celui de shrek ?)
|
|
mercredi 25 mai 2005 à 08:55:05 |
Re : Automation de Word avec les MFC

speeddo
|
tu n'as pas de OleFunction?? tu codes en quoi? et avec quoi? tu avais compris que Selection InLineShape;AddPicture font parti du VB de Word?
P.S. Vi, c'est le Chat ...Potté!
|
|
mercredi 25 mai 2005 à 10:30:19 |
Re : Automation de Word avec les MFC

vieira_alice
|
C'est bien ce qui me semblait .... Mais je code pas avec l'éditeur de word ...... Je code en C++ avec les MFC et j'utilise VC++ 6.0
|
|
mercredi 25 mai 2005 à 11:26:01 |
Re : Automation de Word avec les MFC

speeddo
|
je sais que tu code pas avec l'éditeur de word. en fait he code en C++ (borland C++ builder) et j'appelle les fonctions et propriétés contenu dans Word (fonctions et propiétés en VB que tu vois dans l éditeur de Word) Donc en résume mon code est du C++ qui pilote Word!!!  Donc... ça devrait être le même principe pour ton Visual C++.. non?
|
|
mercredi 25 mai 2005 à 14:21:15 |
Re : Automation de Word avec les MFC

vieira_alice
|
Efectivement c'est ce que je fais (analogiquement parlant) donc je cherche toujours la fonction qui me permettrait d'appeler quelquechose du style AddPicture ...
|
|
mercredi 25 mai 2005 à 16:10:39 |
Re : Automation de Word avec les MFC

speeddo
|
tu arrive à appeler Word, Selection, InLineShapes ? mais pas AddPicture??
|
|
mercredi 25 mai 2005 à 16:11:17 |
Re : Automation de Word avec les MFC

vieira_alice
|
e suis toujours sur ces histoires d'automatisation de Word . je souhaite modifier en cours de route la police du texte à écrire dans mon fichier word. _Font font ; font.m_lpDispatch = selObj.GetFont(); font.SetName("Comic Sans MS"); font.SetSize(16); font.SetBold(3) ; selObj.SetFont(font) ; selObj est ma sélection en cours dans mon document word. Si je ne mets pas selObj.SetFont tout ce passe bien mais la police n'est pas mise à jour. Quand selObj.SetFont est présent, la police est mis à jour et windows me dit "mauvais paramètre" et me jette. j'ai été voir SetFont et en entrée cela prend un LPDISPATCH et si je lui passe directement font.m_lpdispatch, le problème est le même. t'aurais pas une idée ?
|
|
mercredi 25 mai 2005 à 16:14:54 |
Re : Automation de Word avec les MFC

vieira_alice
|
C tout à fait ça j'arrive à l'obtention de l'objet inLinShape mais après je n'ai pas de fonctionnalité style AddPicture : LPDISPATCH pDisp ; pDisp = selObj.GetInlineShapes() ; mais après j'ai un addRef () ou un invoke (....), je pense qu'il faut que je comprenne ce qu'est invoke mais c'est pas gagné. ou alors je n'ai pas trouvé la bonne classe qui récupère le inLineShapes.
|
|
Cette discussion est classée dans : test, to, range, vt, attachment
Répondre à ce message
Sujets en rapport avec ce message
turboc++ icones .exe??? [ par idk ]
Comment faire pour plus avoir cette icone horrible, (carré blanc avec du bleu en haut!)Dans le makefile faut faire quoi!voici le makefile d'un program
int to char ! [ par nullspace ]
Voila mon problème !J'ai une résultat sous forme de variable INT, et je veux que ce résultat soit affecté à une variable de type CHAR.Genre, si j'ai 6
Dll en ATL/COM [ par fviollet ]
Bonjour,J'ai crée un dll pour Excel de type ATL/COM sous Visual Studio C++6.Elle fonctionne parfaitement mais je ne peux pas la transporter sur une ma
Exporter une classe dans une DLL... [ par Clovis ]
Salut,Je voudrais pouvoir exporter dans une DLL, si c'est possible, les fonctions et les objets du listing suivant. Car, je voudrais, par la suite pou
HEEELLLLPPPP!!!!!!!!!!detruire un handle de com [ par mavric ]
salut je fais un prog de com serie ds mon prog j'ouvre une com avec la fonction suivante :hcom=createfile("com2"...........puis je verifie si l'ouvert
HEEELLLLPPPP!!!!!!!!!!detruire un handle de com [ par mavric ]
salut je fais un prog de com serie ds mon prog j'ouvre une com avec la fonction suivante :hcom=createfile("com2"...........puis je verifie si l'ouvert
Conversion Float to String [ par PierreP ]
Bonjour à tous !je suis en train de me prendre la tête pour créer une fonction de conversion d'un réel en une chaine de caractère (problème du débutan
HELP!!!!!!!!!!!!!! => comparaison de BMP [ par mavric ]
bonjour ,je cherche a comparer 2 fichiers bmp ,mais de facon optimisé , pour le moment mon prog mais environ 20 sec et il faudrait qui mette moins de
Switch et char [ par Stoomm ]
Bonjour,Si j'ai :char test[10];strcpy (test, "monchar ";Si je souhaite faire un switch : Je fais comment ???switch (test){...}Il aime pas ! Quelqu'un
Hexadécimal HELP ! [ par Xentor ]
Bonjour,Mon problème est le suivant : je vient d'effectuer un AND sur une variable, et celle ci, bien que conservant son type unsigned int se met en h
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|