Bonjour tout le monde, j ai une petite question à vous poser
Est il possible de copier le contenu d'une page html (en gardant la mise en forme) dans un document word via C#??
j'attends vos réponses
Bonjour tout le monde, j ai une petite question à vous poser
Est il possible de copier le contenu d'une page html (en gardant la mise en forme) dans un document word via C#??
j'attends vos réponses
Merci pour ta réponse, même si j'aimerai bien avoir plus d'explication la dessus
N.B: j'ai bien utiliser la fonction RECHERCHER du forum avant de poster mon message et j'ai rien trouvé
Il y a un lien sur le smiley
dans mon précédent message
Je ne sais pas ce que tu as fait comme recherche, mais moi j'ai utilisé la recherche avancée dans le forum DotNET en utilisant comme mots-clés "word" et "html" et j'ai trouvé.
ça ne fonctionne pas directement avec le presse-papiers ?
en fait j ai trouvé ce lien en cherchant sur google http://tommycarlier.blogspot.com/200...clipboard.html, et je pense que c est le mieux adapter dans mon cas sauf que je n arrive pas à récuppérer ce qui est dans le presse-papier pour le mettre dans mon fichier Word
Question qui a son importance : ton document word, tu le gères comment ?
Tu le crèes et tu le gères par code ou c'est un .doc sur ton disque dur que tu veux juste "remplir" avec ton code HTML ?
non je le crée pas c est un document word enregistré sur mon DD
Alors je ne vois pas d'autre solution que d'utiliser les interop pur ouvrir ton fichier, placer le curseur où tu veux insérer ton texte et utiliser la commande ole correspondant à coller (après avoir fait le copier depuis ton appli bien sur)
je te remercie Papy214, de s'intéresser à mon problème
pour l'automation de mon fichier word c est déjà fait, mon problème réside du côté html, c est à dire comment copier tout le contenu du fichier html dans le presse-papier.
sinon pour la commande OLE que tu as cité, puis-je savoir de quoi il s'agit
Je n'ai pour l'instant fais qu'à partir de Delphi mais j'imahgine que les commandes sont les mêmes. Dans une ancienne application, j'utilisais :
FWordDocument.ActiveWindow.Selection.Paste;
où FWordDocument était une instance du document word ouvert.
J'imagine que ça doit se ressembler beaucoup.
Je n'ai pas trop le temps de chercher plus loin pour l'instant mais si ça peut attendre un peu, je regarderai plus en détails ce soir et j'essayerai de voir comment ça se code.
Ok j attendrai ta réponse pour ce soir.
merci d'avance
grosso modo ça donnerait un truc ça ...
mais mon code pour mettre le html dans le presse-papiers ne fonctionne pas.
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 Microsoft.Office.Interop.Word._Application aWord; Microsoft.Office.Interop.Word._Document aDoc; aWord = new Microsoft.Office.Interop.Word.Application(); aWord.Visible = false; // ne pas faire apparaître Word object missing = Missing.Value; aDoc = aWord.Documents.Add(ref missing, ref missing, ref missing, ref missing); string s = "<table width=\"100pct\" align=\"center\" bordercolor=\"#3300FF\" bgcolor=\"#33FF33\">" + "<td>" + "<tr>Ligne 1</tr>" + "<tr>Ligne 2</tr>" + "</td>" + "</table>>"; System.Windows.Forms.DataObject dataObj = new DataObject(); dataObj.SetData(DataFormats.Html, s); Clipboard.SetDataObject(dataObj); aDoc.ActiveWindow.Selection.Paste(); aWord.Quit(ref missing, ref missing, ref missing);
il faut investiguer de ce coté mais là il est tard
Merci pour ta réponse
pour moi je voulais faire passer en paramètre tout le fichier html qui est déjà stocker quelque part dans mon disque dur, pour le coller ensuite dans un fichier doc qui contient d'autre info c est à dire au lieu de cette partie de codeje dois mettre tout mon fichier html pour cela il me semble qu'il faut parser tout le fichier HTML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 string s = "<table width=\"100pct\" align=\"center\" bordercolor=\"#3300FF\" bgcolor=\"#33FF33\">" + "<td>" + "<tr>Ligne 1</tr>" + "<tr>Ligne 2</tr>" + "</td>" + "</table>>";
alors c'est encore plus simple :
Résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Word._Application aWord; Word._Document aDoc; aWord = new Word.Application(); aWord.Visible = false; // ne pas faire apparaître Word object missing = Missing.Value; aDoc = aWord.Documents.Add(ref missing, ref missing, ref missing, ref missing); aDoc.ActiveWindow.Selection.InsertFile("C:\\MonFichier.html", ref missing, ref missing, ref missing, ref missing); aWord.Quit(ref missing, ref missing, ref missing);
je te remercie infiniment tu m'as sauvé papy
sinon j ai une petite question, pour adapter le fichier html au document word, car je me trouve avec des tables qui dépasse un peu mon document en largeur
désolé, aucune idée
Peut-être en plaçant ton html dans une tableau 1X1 ...
Je n'ai pas testé
OK, merci comme même t es trop fort
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager