Bonjour tout le monde, j ai une petite question à vous poser:roll:
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 ;)
Version imprimable
Bonjour tout le monde, j ai une petite question à vous poser:roll:
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 ;)
La réponse est oui. :roll:
:recherch:
Merci pour ta réponse, même si j'aimerai bien avoir plus d'explication la dessus:oops:
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
:recherch:
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é. :D
ça ne fonctionne pas directement avec le presse-papiers ?
en fait j ai trouvé ce lien en cherchant sur google 8-) 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 :roll:
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 :king:
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.:roll:
sinon pour la commande OLE que tu as cité, puis-je savoir de quoi il s'agit :oops:
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 :mouarf: 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:
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 :mrgreen:
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 :roll: c est à dire au lieu de cette partie de codeje dois mettre tout mon fichier html :aie: pour cela il me semble qu'il faut parser tout le fichier HTML :?Code:
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:
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 :king:
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 :oops:
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 :yaisse2: