Dans le cas d'un publipostage email dans MS Word 2003 ou 2007 est
possible ou non de consid=E9rer l'adresse du lien hyperttexte comme
variable diff=E9rente du texte affich=E9.
Si par exemple, j'ai deux variables WEBTEXT (Google) et WEBADDRESS
(http://www.google) dans excel, obtenir comme r=E9sultat de la fusion
"Google" dans le corps de l'email et http://www.google.com comme
adresse de ce lien hypertexte.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'Christophe' nous a écrit ...
Dans le cas d'un publipostage email dans MS Word 2003 ou 2007 est possible ou non de considérer l'adresse du lien hyperttexte comme variable différente du texte affiché. Si par exemple, j'ai deux variables WEBTEXT (Google) et WEBADDRESS (http://www.google) dans excel, obtenir comme résultat de la fusion "Google" dans le corps de l'email et http://www.google.com comme adresse de ce lien hypertexte.
Non, les champs Hyperlink ne 'passent' pas la fusion Word.
Il faut fusionner les deux parties du lien (texte et adresse) avec des marques puis recomposer chaque lien avec une macro
Anacoluthe « Cest par la séparation quon évalue la force des liens. » - Gérard GEVRY
Bonjour !
'Christophe' nous a écrit ...
Dans le cas d'un publipostage email dans MS Word 2003 ou 2007 est
possible ou non de considérer l'adresse du lien hyperttexte comme
variable différente du texte affiché.
Si par exemple, j'ai deux variables WEBTEXT (Google) et WEBADDRESS
(http://www.google) dans excel, obtenir comme résultat de la fusion
"Google" dans le corps de l'email et http://www.google.com comme
adresse de ce lien hypertexte.
Non, les champs Hyperlink ne 'passent' pas la fusion Word.
Il faut fusionner les deux parties du lien (texte et adresse)
avec des marques puis recomposer chaque lien avec une macro
Anacoluthe
« Cest par la séparation quon évalue la force des liens. »
- Gérard GEVRY
Dans le cas d'un publipostage email dans MS Word 2003 ou 2007 est possible ou non de considérer l'adresse du lien hyperttexte comme variable différente du texte affiché. Si par exemple, j'ai deux variables WEBTEXT (Google) et WEBADDRESS (http://www.google) dans excel, obtenir comme résultat de la fusion "Google" dans le corps de l'email et http://www.google.com comme adresse de ce lien hypertexte.
Non, les champs Hyperlink ne 'passent' pas la fusion Word.
Il faut fusionner les deux parties du lien (texte et adresse) avec des marques puis recomposer chaque lien avec une macro
Anacoluthe « Cest par la séparation quon évalue la force des liens. » - Gérard GEVRY
Christophe
Bonjour Anacoluthe:
Merci de ta réponse.
J'ai obtenu sur un autre forum une réponse (voir ci-dessous) qui me semble très interessante. Pour l'instant, j'ai une erreur de compilation mais meme si je ne comprends pas le detail de cette macro mon sixième sens me dit que je suis pas loin de la solution.
Christophe ---------------------------------------------------------------------------- ---------------------------------- I think you have to use Word Mail Merge events for this. I have not tested this recently, but for example:
1. Create a new document, connect it to your data source, and insert one merge field and a bookmark named "mybm"
2. Open up the VBA Editor and a. insert a class module. b. name it EventClassModule in the properties box c. Copy the following code into the module:
Public WithEvents App As Word.Application
Private Sub App_MailMergeBeforeRecordMerge(BYVal Doc As Document, Cancel As Boolean) Dim dt as String Dim lt as String Dim h as Hyperlink Dim r as Range
' set the range variable to our placeholder bookmark Set r = Doc.Bookmarks("mybm").Range
' delete any existing text (this is needed for records after record 1) r.Text = ""
' construct the link text that you want. I'm assuming your data source ' has a field called WEBADDRESS for the link. NB, these field names ' are case-sensitive. lt = Doc.MailMerge.DataSource.DataFields("WEBADDRESS") ' set up the display text that you want. I assuming you have a field ' called WEBTEXT dt = Doc.MailMerge.DataSource.DataFields("WEBTEXT")
' insert the hyperlink you want Set h = Doc.Hyperlinks.Add(Anchor:=r, Address=lt, TextToDisplay:=dt)
' Set mybm to "cover" the inserted link so it is easy to delete the old hyperlink
Doc.Bookmarks.Add Name:="mybm", Range:=h.Range
Set r = Nothing Set h = Nothing
End Sub
3. Insert an ordinary module (the name does not matter) and insert the following code:
Dim x As New EventClassModule
Sub autoopen() Set x.App = Word.Application End Sub
4. Save and close the document. Open it to trigger the autoopen, then perform a test merge.
NB, if you start changing the code you may find that you need to re- run your autoopen code again, and/or save/close/open the document. You should realise that once you have enabled the events, they apply to any document until either you or Word has disabled them again. This is why I do not particularly like using Events, but even so, I suspect that this is the easiest way to perform this particular task in Word. -- Peter Jamieson
Bonjour Anacoluthe:
Merci de ta réponse.
J'ai obtenu sur un autre forum une réponse (voir ci-dessous) qui me
semble très interessante. Pour l'instant, j'ai une erreur de
compilation mais meme si je ne comprends pas le detail de cette macro
mon sixième sens me dit que je suis pas loin de la solution.
Christophe
---------------------------------------------------------------------------- ----------------------------------
I think you have to use Word Mail Merge events for this. I have not
tested
this recently, but for example:
1. Create a new document, connect it to your data source, and insert
one
merge field and a bookmark named "mybm"
2. Open up the VBA Editor and
a. insert a class module.
b. name it EventClassModule in the properties box
c. Copy the following code into the module:
Public WithEvents App As Word.Application
Private Sub App_MailMergeBeforeRecordMerge(BYVal Doc As Document,
Cancel As
Boolean)
Dim dt as String
Dim lt as String
Dim h as Hyperlink
Dim r as Range
' set the range variable to our placeholder bookmark
Set r = Doc.Bookmarks("mybm").Range
' delete any existing text (this is needed for records after record
1)
r.Text = ""
' construct the link text that you want. I'm assuming your data
source
' has a field called WEBADDRESS for the link. NB, these field names
' are case-sensitive.
lt = Doc.MailMerge.DataSource.DataFields("WEBADDRESS")
' set up the display text that you want. I assuming you have a field
' called WEBTEXT
dt = Doc.MailMerge.DataSource.DataFields("WEBTEXT")
' insert the hyperlink you want
Set h = Doc.Hyperlinks.Add(Anchor:=r, Address=lt, TextToDisplay:=dt)
' Set mybm to "cover" the inserted link so it is easy to delete the
old
hyperlink
Doc.Bookmarks.Add Name:="mybm", Range:=h.Range
Set r = Nothing
Set h = Nothing
End Sub
3. Insert an ordinary module (the name does not matter) and insert
the
following code:
Dim x As New EventClassModule
Sub autoopen()
Set x.App = Word.Application
End Sub
4. Save and close the document. Open it to trigger the autoopen, then
perform a test merge.
NB, if you start changing the code you may find that you need to re-
run your
autoopen code again, and/or save/close/open the document. You should
realise
that
once you have enabled the events, they apply to any document until
either
you or
Word has disabled them again. This is why I do not particularly like
using
Events, but even so,
I suspect that this is the easiest way to perform this particular task
in
Word.
--
Peter Jamieson
J'ai obtenu sur un autre forum une réponse (voir ci-dessous) qui me semble très interessante. Pour l'instant, j'ai une erreur de compilation mais meme si je ne comprends pas le detail de cette macro mon sixième sens me dit que je suis pas loin de la solution.
Christophe ---------------------------------------------------------------------------- ---------------------------------- I think you have to use Word Mail Merge events for this. I have not tested this recently, but for example:
1. Create a new document, connect it to your data source, and insert one merge field and a bookmark named "mybm"
2. Open up the VBA Editor and a. insert a class module. b. name it EventClassModule in the properties box c. Copy the following code into the module:
Public WithEvents App As Word.Application
Private Sub App_MailMergeBeforeRecordMerge(BYVal Doc As Document, Cancel As Boolean) Dim dt as String Dim lt as String Dim h as Hyperlink Dim r as Range
' set the range variable to our placeholder bookmark Set r = Doc.Bookmarks("mybm").Range
' delete any existing text (this is needed for records after record 1) r.Text = ""
' construct the link text that you want. I'm assuming your data source ' has a field called WEBADDRESS for the link. NB, these field names ' are case-sensitive. lt = Doc.MailMerge.DataSource.DataFields("WEBADDRESS") ' set up the display text that you want. I assuming you have a field ' called WEBTEXT dt = Doc.MailMerge.DataSource.DataFields("WEBTEXT")
' insert the hyperlink you want Set h = Doc.Hyperlinks.Add(Anchor:=r, Address=lt, TextToDisplay:=dt)
' Set mybm to "cover" the inserted link so it is easy to delete the old hyperlink
Doc.Bookmarks.Add Name:="mybm", Range:=h.Range
Set r = Nothing Set h = Nothing
End Sub
3. Insert an ordinary module (the name does not matter) and insert the following code:
Dim x As New EventClassModule
Sub autoopen() Set x.App = Word.Application End Sub
4. Save and close the document. Open it to trigger the autoopen, then perform a test merge.
NB, if you start changing the code you may find that you need to re- run your autoopen code again, and/or save/close/open the document. You should realise that once you have enabled the events, they apply to any document until either you or Word has disabled them again. This is why I do not particularly like using Events, but even so, I suspect that this is the easiest way to perform this particular task in Word. -- Peter Jamieson
Anacoluthe
Bonjour !
'Christophe' nous a écrit ...
J'ai obtenu sur un autre forum une réponse (voir ci-dessous) qui me semble très interessante. Pour l'instant, j'ai une erreur de compilation mais meme si je ne comprends pas le detail de cette macro mon sixième sens me dit que je suis pas loin de la solution.
Peter Jamieson utilise un évènement de publipostage : avant chaque fusion d'enregistrement un lien HT du document principal est réécrit à partir des données de l'enregistrement en cours. C'est élégant mais il faut bien maitriser les événements d'application Word. Où se situe votre erreur de compilation et quelle en est sa nature?
Personnellement j'aurais simplement fusionné les deux champs: ###{ Mergefield WebText }###{ Mergefield WebAddress }### puis j'aurais appliqué à tout le document de fusion une macro remplaçant ###X###Y### par un champ HYPERLINK Y avec TextToDisplay X Cette macro 'a postériori' aurait l'avantage de pouvoir fusionner plusieurs liens HT par enregistrement si besoin. Cette macro pourrait être automatique en fin de fusion si on garde le principe d'une gestion des événements de publipostage comme le propose Peter.
Anacoluthe « Cest par la séparation quon évalue la force des liens. » - Gérard GEVRY
Bonjour !
'Christophe' nous a écrit ...
J'ai obtenu sur un autre forum une réponse (voir ci-dessous) qui me
semble très interessante. Pour l'instant, j'ai une erreur de
compilation mais meme si je ne comprends pas le detail de cette macro
mon sixième sens me dit que je suis pas loin de la solution.
Peter Jamieson utilise un évènement de publipostage : avant chaque
fusion d'enregistrement un lien HT du document principal est réécrit
à partir des données de l'enregistrement en cours. C'est élégant
mais il faut bien maitriser les événements d'application Word.
Où se situe votre erreur de compilation et quelle en est sa nature?
Personnellement j'aurais simplement fusionné les deux champs:
###{ Mergefield WebText }###{ Mergefield WebAddress }###
puis j'aurais appliqué à tout le document de fusion une macro
remplaçant ###X###Y### par un champ HYPERLINK Y avec TextToDisplay X
Cette macro 'a postériori' aurait l'avantage de pouvoir fusionner
plusieurs liens HT par enregistrement si besoin.
Cette macro pourrait être automatique en fin de fusion si on
garde le principe d'une gestion des événements de publipostage
comme le propose Peter.
Anacoluthe
« Cest par la séparation quon évalue la force des liens. »
- Gérard GEVRY
J'ai obtenu sur un autre forum une réponse (voir ci-dessous) qui me semble très interessante. Pour l'instant, j'ai une erreur de compilation mais meme si je ne comprends pas le detail de cette macro mon sixième sens me dit que je suis pas loin de la solution.
Peter Jamieson utilise un évènement de publipostage : avant chaque fusion d'enregistrement un lien HT du document principal est réécrit à partir des données de l'enregistrement en cours. C'est élégant mais il faut bien maitriser les événements d'application Word. Où se situe votre erreur de compilation et quelle en est sa nature?
Personnellement j'aurais simplement fusionné les deux champs: ###{ Mergefield WebText }###{ Mergefield WebAddress }### puis j'aurais appliqué à tout le document de fusion une macro remplaçant ###X###Y### par un champ HYPERLINK Y avec TextToDisplay X Cette macro 'a postériori' aurait l'avantage de pouvoir fusionner plusieurs liens HT par enregistrement si besoin. Cette macro pourrait être automatique en fin de fusion si on garde le principe d'une gestion des événements de publipostage comme le propose Peter.
Anacoluthe « Cest par la séparation quon évalue la force des liens. » - Gérard GEVRY
Christophe
Bonsoir Anacoluthe et merci.
Ta solution me semble très astucieuse. Entre temps, j'ai découvert un add-in Excel TRES performant et très simple à utiliser permettant l'envoi d'emails personnalisés en nombre en permettant de fusionner des champs dans le code source html.
Remerciements et sincères salutations.
Christophe
P.S. Je suis souvent epoustouflé par la compétence et la créativité de nombreux participants au forum mais suis carrément abasourdi par la capacité que ces mêmes personnes ont à comprendre les questions posé es e't les miennes en particulier:-)
Bonsoir Anacoluthe et merci.
Ta solution me semble très astucieuse. Entre temps, j'ai découvert un
add-in Excel TRES performant et très simple à utiliser permettant
l'envoi d'emails personnalisés en nombre en permettant de fusionner
des champs dans le code source html.
Remerciements et sincères salutations.
Christophe
P.S. Je suis souvent epoustouflé par la compétence et la créativité de
nombreux participants au forum mais suis carrément abasourdi par la
capacité que ces mêmes personnes ont à comprendre les questions posé es
e't les miennes en particulier:-)
Ta solution me semble très astucieuse. Entre temps, j'ai découvert un add-in Excel TRES performant et très simple à utiliser permettant l'envoi d'emails personnalisés en nombre en permettant de fusionner des champs dans le code source html.
Remerciements et sincères salutations.
Christophe
P.S. Je suis souvent epoustouflé par la compétence et la créativité de nombreux participants au forum mais suis carrément abasourdi par la capacité que ces mêmes personnes ont à comprendre les questions posé es e't les miennes en particulier:-)
Circé
Bonjour Christophe,
Puisque cet addin est si performant, ce serait sympa de nous dire où on le trouve... Je pourrais y faire un lien dans la faq.
Bonne nuit.
Circé http://faqword.free.fr
Christophe avait soumis l'idée :
Bonsoir Anacoluthe et merci.
Ta solution me semble très astucieuse. Entre temps, j'ai découvert un add-in Excel TRES performant et très simple à utiliser permettant l'envoi d'emails personnalisés en nombre en permettant de fusionner des champs dans le code source html.
Remerciements et sincères salutations.
Christophe
P.S. Je suis souvent epoustouflé par la compétence et la créativité de nombreux participants au forum mais suis carrément abasourdi par la capacité que ces mêmes personnes ont à comprendre les questions posées e't les miennes en particulier:-)
Bonjour Christophe,
Puisque cet addin est si performant, ce serait sympa de nous dire où on
le trouve... Je pourrais y faire un lien dans la faq.
Bonne nuit.
Circé
http://faqword.free.fr
Christophe avait soumis l'idée :
Bonsoir Anacoluthe et merci.
Ta solution me semble très astucieuse. Entre temps, j'ai découvert un
add-in Excel TRES performant et très simple à utiliser permettant
l'envoi d'emails personnalisés en nombre en permettant de fusionner
des champs dans le code source html.
Remerciements et sincères salutations.
Christophe
P.S. Je suis souvent epoustouflé par la compétence et la créativité de
nombreux participants au forum mais suis carrément abasourdi par la
capacité que ces mêmes personnes ont à comprendre les questions posées
e't les miennes en particulier:-)
Puisque cet addin est si performant, ce serait sympa de nous dire où on le trouve... Je pourrais y faire un lien dans la faq.
Bonne nuit.
Circé http://faqword.free.fr
Christophe avait soumis l'idée :
Bonsoir Anacoluthe et merci.
Ta solution me semble très astucieuse. Entre temps, j'ai découvert un add-in Excel TRES performant et très simple à utiliser permettant l'envoi d'emails personnalisés en nombre en permettant de fusionner des champs dans le code source html.
Remerciements et sincères salutations.
Christophe
P.S. Je suis souvent epoustouflé par la compétence et la créativité de nombreux participants au forum mais suis carrément abasourdi par la capacité que ces mêmes personnes ont à comprendre les questions posées e't les miennes en particulier:-)
Christophe
Bonjour Circé:
Je ne l'avais pas indiqué par ce que c'est un add-in Excel. Il permet de faire du publipostage email de manière très très simple et pourtant il intègre de toutes les fontionnalités, y compris avancées et même rares, que l'on peut espérer d'un tel outil. Il s'agit de XL Email Manager. Pour plus d'infos http://www.bigredconsulting.com/aboutemailmanage r.htm L'essayer c'est l'adopter.
Bonne journée.
Christophe
Bonjour Circé:
Je ne l'avais pas indiqué par ce que c'est un add-in Excel. Il permet
de faire du publipostage email de manière très très simple et pourtant
il intègre de toutes les fontionnalités, y compris avancées et même
rares, que l'on peut espérer d'un tel outil. Il s'agit de XL Email
Manager. Pour plus d'infos http://www.bigredconsulting.com/aboutemailmanage r.htm
L'essayer c'est l'adopter.
Je ne l'avais pas indiqué par ce que c'est un add-in Excel. Il permet de faire du publipostage email de manière très très simple et pourtant il intègre de toutes les fontionnalités, y compris avancées et même rares, que l'on peut espérer d'un tel outil. Il s'agit de XL Email Manager. Pour plus d'infos http://www.bigredconsulting.com/aboutemailmanage r.htm L'essayer c'est l'adopter.
Bonne journée.
Christophe
Circé
Bonjour Christophe,
Merci pour le lien. Même un addin Excel peut être utile aux wordiens, la preuve !! ;))
Cela dit, je trouve quand même assez agaçant de devoir payer 49$ pour pallier les manques de Word...
Bon, profitons-en avant que le dollar ne remonte !!! ;)))
Circé http://faqword.free.fr
Le 29/11/2007, Christophe a supposé :
Bonjour Circé:
Je ne l'avais pas indiqué par ce que c'est un add-in Excel. Il permet de faire du publipostage email de manière très très simple et pourtant il intègre de toutes les fontionnalités, y compris avancées et même rares, que l'on peut espérer d'un tel outil. Il s'agit de XL Email Manager. Pour plus d'infos http://www.bigredconsulting.com/aboutemailmanager.htm L'essayer c'est l'adopter.
Bonne journée.
Christophe
Bonjour Christophe,
Merci pour le lien. Même un addin Excel peut être utile aux wordiens,
la preuve !! ;))
Cela dit, je trouve quand même assez agaçant de devoir payer 49$ pour
pallier les manques de Word...
Bon, profitons-en avant que le dollar ne remonte !!! ;)))
Circé
http://faqword.free.fr
Le 29/11/2007, Christophe a supposé :
Bonjour Circé:
Je ne l'avais pas indiqué par ce que c'est un add-in Excel. Il permet
de faire du publipostage email de manière très très simple et pourtant
il intègre de toutes les fontionnalités, y compris avancées et même
rares, que l'on peut espérer d'un tel outil. Il s'agit de XL Email
Manager. Pour plus d'infos
http://www.bigredconsulting.com/aboutemailmanager.htm L'essayer c'est
l'adopter.
Merci pour le lien. Même un addin Excel peut être utile aux wordiens, la preuve !! ;))
Cela dit, je trouve quand même assez agaçant de devoir payer 49$ pour pallier les manques de Word...
Bon, profitons-en avant que le dollar ne remonte !!! ;)))
Circé http://faqword.free.fr
Le 29/11/2007, Christophe a supposé :
Bonjour Circé:
Je ne l'avais pas indiqué par ce que c'est un add-in Excel. Il permet de faire du publipostage email de manière très très simple et pourtant il intègre de toutes les fontionnalités, y compris avancées et même rares, que l'on peut espérer d'un tel outil. Il s'agit de XL Email Manager. Pour plus d'infos http://www.bigredconsulting.com/aboutemailmanager.htm L'essayer c'est l'adopter.