Je rencontre un problème lors d'un publipostage vers la messagerie.
Lorsque le champ de ma source de données, correspondant à l'adresse mail,
contient un tiret (ex: E-mail), la methode Execute me renvoie cette erreur:
"Publipostage ou télécopie impossibles sans adresse valide. Cliquez sur le
bouton Configurer pour sélectionner un champ de messagerie"
Je n'ai pas le problème lorsque le champ se nomme par exemple "Email".
Est-ce logique ? Y a t-il un moyen de contourner le problème ?
Voici une partie du code utilisé
With OLE1.object.Application
.ActiveDocument.MailMerge.OpenDataSource SourceDonnee
.ActiveDocument.Save
With .ActiveDocument.MailMerge
.Destination = wdSendToEmail
.MailAddressFieldName = ZoneEmail -> ( si ZoneEmail
= "E-mail", message d'erreur )
.MailSubject = "essai"
.MailAsAttachment = False
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute True
End With
.Quit wdDoNotSaveChanges
End With
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 !
'Antoine' nous a écrit ...
Je rencontre un problème lors d'un publipostage vers la messagerie. Lorsque le champ de ma source de données, correspondant à l'adresse mail, contient un tiret (ex: E-mail), la methode Execute me renvoie cette erreur: "Publipostage ou télécopie impossibles sans adresse valide. Cliquez sur le bouton Configurer pour sélectionner un champ de messagerie" Je n'ai pas le problème lorsque le champ se nomme par exemple "Email". Est-ce logique ? Y a t-il un moyen de contourner le problème ?
Le problème ne vient pas de Word mais de la requête aux données. Le tiret n'est pas un caractère autorisé dans les noms de champs ODBC car il est assimilé à un séparateur. Essayez de remplacer E-mail par "E-Mail" en forçant les guillemets .MailAddressFieldName = Chr(34) & ZoneEmail & Chr(34) Je n'ai pas testé dans votre exemple, mais parfois ça passe ou alors changez d'accès aux données (DDE par exemple) ou alors bannissez les tirets des noms des champs !
Anacoluthe « Quand on a du caractère, il est toujours mauvais. » - Georges CLEMENCEAU
Bonjour !
'Antoine' nous a écrit ...
Je rencontre un problème lors d'un publipostage vers la messagerie.
Lorsque le champ de ma source de données, correspondant à l'adresse mail,
contient un tiret (ex: E-mail), la methode Execute me renvoie cette erreur:
"Publipostage ou télécopie impossibles sans adresse valide. Cliquez sur le
bouton Configurer pour sélectionner un champ de messagerie"
Je n'ai pas le problème lorsque le champ se nomme par exemple "Email".
Est-ce logique ? Y a t-il un moyen de contourner le problème ?
Le problème ne vient pas de Word mais de la requête aux données.
Le tiret n'est pas un caractère autorisé dans les noms de champs ODBC
car il est assimilé à un séparateur. Essayez de remplacer E-mail par
"E-Mail" en forçant les guillemets
.MailAddressFieldName = Chr(34) & ZoneEmail & Chr(34)
Je n'ai pas testé dans votre exemple, mais parfois ça passe
ou alors changez d'accès aux données (DDE par exemple)
ou alors bannissez les tirets des noms des champs !
Anacoluthe
« Quand on a du caractère, il est toujours mauvais. »
- Georges CLEMENCEAU
Je rencontre un problème lors d'un publipostage vers la messagerie. Lorsque le champ de ma source de données, correspondant à l'adresse mail, contient un tiret (ex: E-mail), la methode Execute me renvoie cette erreur: "Publipostage ou télécopie impossibles sans adresse valide. Cliquez sur le bouton Configurer pour sélectionner un champ de messagerie" Je n'ai pas le problème lorsque le champ se nomme par exemple "Email". Est-ce logique ? Y a t-il un moyen de contourner le problème ?
Le problème ne vient pas de Word mais de la requête aux données. Le tiret n'est pas un caractère autorisé dans les noms de champs ODBC car il est assimilé à un séparateur. Essayez de remplacer E-mail par "E-Mail" en forçant les guillemets .MailAddressFieldName = Chr(34) & ZoneEmail & Chr(34) Je n'ai pas testé dans votre exemple, mais parfois ça passe ou alors changez d'accès aux données (DDE par exemple) ou alors bannissez les tirets des noms des champs !
Anacoluthe « Quand on a du caractère, il est toujours mauvais. » - Georges CLEMENCEAU