salut
svp
comment écrire dans un fichier Word avec c++ Builder xe3
merci d'avance!!!!
salut
svp
comment écrire dans un fichier Word avec c++ Builder xe3
merci d'avance!!!!
Salut udinacer
regarde la FAQ ici
Tu aura certainement des modifications a effectuer pour gerer l'unicode, mais les codes restent valable
merci
ça marche parfaitement
et comment insérer une image dans le docemment
Pour inserer une image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; Variant vMSWord, vWDocuments, vWDocument; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { try { vMSWord = Variant::GetActiveObject("Word.Application"); } catch(...) { vMSWord = Variant::CreateObject("Word.Application"); } vMSWord.OlePropertySet("Visible", true); vWDocuments = vMSWord.OlePropertyGet("Documents"); vWDocument = vWDocuments.OleFunction("Add"); vMSWord.OlePropertyGet("Selection").OlePropertyGet("InlineShapes"). OleFunction("AddPicture", "C:\\Users\\home\\Pictures\\IMG_0127.jpg", false, true); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { vMSWord.OleFunction("Quit"); vMSWord = Unassigned; Application->Terminate(); } //---------------------------------------------------------------------------
lors de l’exécution
le message suivant
type de variable incorrect
vMSWord.OlePropertyGet("Selection").OlePropertyGet("InlineShapes").
OleFunction("AddPicture", "C:\\Users\\home\\Pictures\\IMG_0127.jpg", false, true);
et
j'ai pas fait une erreur sur le chemin de l'image
Tu doit remplacer le chemin " C:\\Users\\home\\Pictures\\IMG_0127.jpg " par celui ou se trouve ton image a afficher si tu a laisse tel quel c'est normal que tu ai une erreur
j'ai pas fait une erreur sur le chemin de limage
le programme s’exécute normalement
mais si je Click sur le bouton 1
alors j'ai le message
"Type de variable incorrect "
![]()
Si ton chemin de l'image est correcte essaie d'ecrire la ligne comme ceci cela devrait marche c'est probablement du a la gestion des chaines unicode
Il ne faut pas oublier d'inclure ceci " #include <utilcls.h> " dans l'entete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 vMSWord.OlePropertyGet(WideString("Selection")).OlePropertyGet(WideString("InlineShapes")). OleFunction(WideString("AddPicture"), WideString("C:\\Users\\home\\Pictures\\IMG_0127.jpg"), false, true);
merci bq sa marche très bien
tu es trèsfort
Si tu complete ton programme avec les exemples de la FAQ en cas d'erreur il te faudra tester avec l'ajout de " WideString " pour les chaines de caracteres passees en arguments
s que en peut insérer une image dans le document a partir de Timage
si oui comment stppppppppppppppppppppp
Pour copier un graphique en provenance d'un TImage on peut utiliser le presse papier
Il faut inclure ceci dans l'entete
Copier le graphique de Image1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include <vcl\Clipbrd.hpp>
Coller le graphique sous Word
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void __fastcall TForm1::Button3Click(TObject *Sender) { Clipboard()->Assign(Image1->Picture); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void __fastcall TForm1::Button4Click(TObject *Sender) { vMSWord.OlePropertyGet(WideString("Selection")).OleFunction(WideString("Paste")); }
es que on peut afficher le contenue de la form1 sur le document
Utilise un TBitmap qui revevra le TForm::PaintTo.
TBitmap::SaveToFile dans un BMP temporaire puis la suite cela doit être comme avec un JPEG,
Tu peux aussi utiliser un TJPEGImage pour convertir le TBitmap en JPEG
Tu peux aussi utilisé Clipboard()->Assign sur le TJPEGImage\TBitmap à la place d'un SaveToFile, cela économise un fichier
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Pour copier la Form est son contenu Graphique et texte
Pour le collage sur Word utiliser la fonction donnee dans le poste precedant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void __fastcall TForm1::Button5Click(TObject *Sender) { Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap(); Bitmap1->Width = ClientWidth; Bitmap1->Height = ClientHeight; Bitmap1->Canvas->CopyRect(ClientRect, Form1->Canvas, ClientRect); Clipboard()->Assign(Bitmap1); delete Bitmap1; }
Partager