Passer du richedit à un document word [Résolu]

ledoc93 12 Messages postés mercredi 8 septembre 2004Date d'inscription 10 février 2006 Dernière intervention - 5 oct. 2004 à 20:36 - Dernière réponse : cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention
- 8 oct. 2004 à 14:15
Bonjour,
Voila mon probleme.
Je developpe un logiciel médical dans lequel le médecin saisit dans un richedit du texte formaté, avec la possibilité d'utiliser les polices, les couleurs, l'indentation....
Je souhaite que ce texte soit imprimé sous Word..mais sans perdre les caractéristiques du texte (couleur, police...)
Quelqu'un sait-il comment faire transiter le texte.
J'ai deja utilisé le pilotage OLE à partir de delphi mais ce ne rapatrie que le texte.
Merci de votre aide

Ledoc
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 6 oct. 2004 à 10:44
3
Merci
Salut.

Pourkoi tu n'utilises pas dans ce cas directement word pour saisir le texte en utlisant un composant TOleContainer.

Ainsi la personne rélalise directement son document sous word.

Si tu veux dans les exemple de delphi (version 6 pour moi) tu en as un sympa :
C:\Program Files\Borland\Delphi6\Demos\ActiveX\OleCtnrs

Si tu n'as pas cette démo contact moi et je te l'enverai pas mail.

En esperant avoir pu t'aider.

Bonne prog,
JMP.

Merci jmp77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de jmp77
Meilleure réponse
ledoc93 12 Messages postés mercredi 8 septembre 2004Date d'inscription 10 février 2006 Dernière intervention - 7 oct. 2004 à 07:42
3
Merci
Merci JMP77 de m'avoir répondu.
En fait je ne peux pas utiliser Word directement car je veux conserver le texte dans les données du patient. C'est pour ca que je passe par un DBRichedit.
J'ai trouvé la solution en bidouillant un peu, en passant par le presse papier. C'est pas très élégant mais ca fonctionne.
Il suffit de faire dans Delphi un Richedit.selectall puis copytoclipboard.
Ouvrir word par un execute suivi de l'extension /mNomDeLaMacro et dans la macro de word, mettre un selection.paste
Et le tour est joué.
Merci encore de ton aide
Ledoc

Merci ledoc93 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de ledoc93
Meilleure réponse
jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 7 oct. 2004 à 08:42
3
Merci
Et bien je suis heureux de savoir que tu as pu trouver et que ça fonctionne.

N'oublie pas de cliquer sur réponse acceptée pour fermer ta demande.

Bonne prog,
JMP.

Merci jmp77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de jmp77
Meilleure réponse
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 7 oct. 2004 à 23:50
3
Merci
LeDoc93, je ne comprends absolument pas ce qui t'arrive.
Je viens de vérifier en créant un texte, en le mettant en forme et en le sauvegardant (RichEidt.Lines.SaveToFile('nomdufichier.rtf'). La sauvegarde se fait bien au format RTF. Le texte rechargé sous Word fait apparaître la mise en page et les enrichisssements indiqués dans mon application Delphi.

Aurais-tu modifié quelque chose dans les propriétés du TRichEdit ? (propriété PlainText, par exemple)
Est-ce que tu manipules la propriété Text du TRichEdit quand tu fais la sauvegarde ?
Peux-tu nous donner le code réalisant la sauvegarde du contenu de ton TRichhEdit ?

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you

Merci cs_Delphiprog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Delphiprog
Meilleure réponse
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 8 oct. 2004 à 14:15
3
Merci
Je demandais le code pour réaliser la sauvegarde du contenu du composant TRichEdit utilisé.
Mais si tout est rentré dans l'ordre, alors ce n'est plus nécessaire.
Bonne continuation à tous les deux.
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you

Merci cs_Delphiprog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Delphiprog
ledoc93 12 Messages postés mercredi 8 septembre 2004Date d'inscription 10 février 2006 Dernière intervention - 8 oct. 2004 à 09:32
0
Merci
Bonjour Delphiprog,
En réponse a ta question, voila la proc que j'utilisais... Avec une propriété Plaintext à True..

procedure TForm1.FormCreate(Sender: TObject);
var fichier : AnsiString;
vbookmark,vbookmarks,vcontent : variant;
begin
Word := CreateOleObject('Word.Application');
word.visible:=true;
fichier:='c:\temp\test.rtf';
vwdocuments:=word.documents;
vwdocument:=vwdocuments.Open(fichier);
vbookmarks:=vwdocument.bookmarks;
if vbookmarks.exists('signet1') then
vbookmark:=vbookmarks.item('signet1');
vbookmark.select;
vcontent:=vbookmark.range;
vcontent.insertafter(richedit1.Lines[0]+#13);
vcontent.insertafter(richedit1.Lines[1]);
end;

Merci encore de votre aide a tous
Ledoc
Commenter la réponse de ledoc93

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.