|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 859 ![]() |
Bonjour à tous,
J'ai une chaine de caractères, et j'aimerais pouvoir remplacer une occurence de cette chaine par un caractère spécial. Par exemple: J'ai la chaine "Voici mon point [POINT] et c'est tout." Et il faut qu'il remplace "[POINT]" par un caractère spécial. Un truc comme ça dans le principe, mais ca ne marche pas: str2 = Replace(str, "[POINT]", InsertSymbol(Font:="Wingdings", CharacterNumber:=-3988, Unicode:=True)) Avez vous une idée ? Merci d'avance.
__________________
David. |
|
|
00
|
|
|
#2 |
|
Inactif
Inscription : juillet 2007 Messages : 4 555 ![]() |
Replace traite une chaîne de caractères, pas sa police !
Une chaîne de caractères est une chaîne de caractères et elle reste la même quelle que soit la police utilisée. Il va donc te falloir : 1) chercher la position du caractère concerné 2) modifier la police à cette position 3) avancer d'un caractère 4) restituer la police originelle ensuite. Le tout : à condition que la chaîne traitée ne soit pas le contenu d'une variable String mais bel et bien une partie de texte formaté (de ton document).... hein ... |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 859 ![]() |
Merci pour votre réponse,
En fait, j'ai trouvé un truc qui marche mais ça me semble un peu du bricolage. Le plus difficile est de comprendre et maitriser ce que fait exactement le curseur. Code :
(c'est une fonction que j'appelle récursivement un bon nombre de fois)
__________________
David. |
||
|
|
00
|
|
|
#4 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Bonjour dacid,
Citation:
A+ |
|
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 859 ![]() |
Heu... Bin par InStr(), qui me donne la position de la chaine recherchée
Mais j'ai peur de ne pas avoir bien compris ta question.
__________________
David. |
|
|
00
|
|
|
#6 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
|
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 859 ![]() |
Ok, je vois... J'était bien à coté.
C'est juste un string de 255 car Max, du genre: "Blablabla Blablabla Blablabla [POINT] Blablabla Blablabla"
__________________
David. |
|
|
00
|
|
|
#8 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
Ensuite, ce texte, tu l'ajoutes dans un doc ou tu prends dans le doc pour le modifier ? Attends, je t'explique : Si tu le prends dans le doc, c'est que tu l'as recherché. Si tu l'ajoute dans le doc, c'est que tu as trouvé ou que tu connais son emplacement... Comment définis-tu cet emplacement ? On va y arriver ! Laisse moi poser les bonnes questions ![]() A+ |
|
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 859 ![]() |
Il n'y a aucun soucis...
Cette chaine est dans une base Access et envoyé à la fonction Word à l'aide de mon application en Delphi, Word ne connait donc pas cette chaîne avant que je lui envoye. Son emplacement peut être trouvé de 2 manières différentes (j'ai besoin de garder les 2): 1 - Il y a un signet. 2 - C'est la première cellule du tableau de pied de page. C'est pour ça que j'envoye un range (délimité avant) à la fonction.
__________________
David. |
|
|
00
|
|
|
#10 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Ok ! J'ai enfin tout compris
Donc à part "Set rR = Nothing" que tu dois déjà ré-initialiser dans la procédure appelante et qui ne paraît pas utile (je ne discuterait pas là-dessus Désolé de t'avoir fait faire le parcours du combattant par mes questions
|
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 859 ![]() |
Merci à toi pour temps passé.
C'est vrai que pour faire la moindre chose avec Word, ca peut vite parraître lourd et désordonné. En tout cas, c'est rassurant de savoir que mon code n'est pas trop du n'importe quoi, hi. Je vais jeter un oeil pour le Nothing... Je ne sais plus vraiment pourquoi je l'ai mis là.
__________________
David. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com