|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 5 ![]() |
Bonjour à tous,
c'est avec un peu d'émotion que j'écris sur ce forum pour la première fois (je suis désolé pour ceux qui me lise pour la deuxième fois, je me suis comme trompé dans mon postage...). Je vous dois déjà quelques lignes de code que j'ai récupéré en vous lisant et je peux enfin vous en remercier. J'apprends petit à petit le vbscript grâce à vous entre autre mais là j'ai un petit problème dont je n'arrive pas à trouver la solution malgré tout mes efforts alors que je pense que ça doit être tout bête. Peut-être pourrez vous m'éclairer. Je me demande s'il est possible d'insérer une chaine de caractère sans format (par exemple sans italique) à l'intérieur d'un paragraphe qui lui est formaté (par exemple en italique). exemple concret, je cherche les éléments surlignés et je veux insérer des balises avant et après. Le texte doit rester surligné (et italique s'il est italique ect...) mais les balises elles ne doivent pas l'être (ne doivent pas prendre le formatage du texte surligné). voici le morceau de code incriminé (j'ai essayé avec plein de variantes) : Code : Code :
merci d'avance Happyculteur |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Boujour à toi cousin batave.
Ça donnera ceci Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#3 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
![]() J'ai déjà traité ce problème avec Word il y a déjà 10 ans mais le problème reste entier et il faut s'accrocher pour le résoudre. Si tu veux le résoudre, (dans tous les cas évidemment), tu dois utiliser les signets (quasi invisbles) que Word pose sur les éléments pour les changer et ça dépend de ta version de Word puis après du formattage concerné. Je te conseille une autre astuce si tu peux et crois-moi que tu gagneras du temps (et pas qu'un peu Une 2ième ruse possible, plus complexe, mais qui marche aussi, enregistre ton fichier en HTML, après avoir répéré tes endroits d'insertions (mais je suppose que tu les connais) puis réouvre ton fichier en mode texte, il suffit alors de coller tes balises devant les balises HTML (<i> pour italique, <g> pour gras, <u> pour souligné...), tu sauvegardes en format initial (donc texte) puis tu réouvres en format par défaut (Word reconnait alors son format HTML à lui) ça marche pour les balises ouvrantes HTML mais pas pour toutes les balises fermantes car de toute façon Word n'est pas capable de traiter correctement le format HTML (sauf s'il a des balises complémentaires spécifiques qu'il ajoute lors du passage du format .doc au format .Html) et n'est pas capable de traiter le XHTML. Si tu ne peux pas être dans ces 2 cas, réponds-moi je te dirais comment faire pour tous les cas mais il me faudrait des précisions (importantes .
|
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 5 ![]() |
Merci pour ta réponse, mais j'avais déjà essayé un truc du même type.
Le problème avec "selection.clearformatting", c'est que toute la sélection (ici la sélection c'est l'élément surligné plus les balises) perd son formatage. Or, le texte entre les balises doit conserver son formatage donc son surlignage et son italique éventuellement. Les balises quand à elle ne doivent pas être surligné ou en italique, là est tout le problème. En fait, j'ai pas dit toute la vérité, une solution existe mais que je trouve ridicule. Solution ridicule : Faire un premier find sur le surlignage et ajouter les balises, puis faire un find sur chacune des balises et appliquer un clear formatting mais j'avoue être mécontent de cette solution étant donné qu'il faut faire trois find alors qu'un seul devrait suffire en insérant les balises sans formatage. Il doit quand même exister un moyen d'insérer du texte sans qu'il soit formaté par l'endroit où il est inséré non? happyculteur qui cherche qui cherche |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Citation:
Une des solutions serait de rechercher les balises et de les nettoyer. Ou comme Sepia le suggère, insérer un signet sur la sélection, insérer les balises, ensuite reprendre le signet se déplacer devant le signet, prendre 3 caractères, nettoyer, reprendre le signet, se positionner derrière, sélectionner 4 caractères, nettoyer les format. Recherche suivante, remettre le signet.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 5 ![]() |
merci sépia, tes solutions fonctionnent mais comme ce n'est pas pour moi mais pour quelqu'un qui doit appliquer ça pour ses documents, il faut que ça soit le plus simple possible. Créer un deuxième fichier avec les balises dans le bon format pourquoi pas mais le jour où le fichier est malencontreusement déplacer sa macro fonctionnera plus (et ça peut arriver). Pour html c'est un peu dans la même logique, donc j'ai fait la méthode dit "du gros bill" celle que j'exposais dans mon dernier post. D'un point de vue utilisateur, y a qu'à appuyer sur le bouton et ça marche, d'un point de vue programmation c'est moche
merci pour tout quand même, happyculteur ps : pour la version word, je sais qu'elle travaille sur deux postes avec deux versions de word différentes... et moi je travaille avec une troisième (la 2007 arghhh). |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com