Perte de la fusion lors de l'ouverture d'un *.doc par macro Excel
1 réponse
Jac
Bonjour à tous,
j'ai un document Word avec des champs de fusion qui s'appuie sur un fichier
Excel.
Quand j'ouvre le document Word par double click, un message m'annonce que
les "données de ma base de données seront placées dans le document...". Je
valide et le doc se met à jour des données actuelles d'Excel.
Dans un fichier Excel, une macro me fait faire une sélection de fiche et
renplace le fichier cible de mon publipostage puis ouvre, mon *.doc afin
d'afficher mon publipostage. L'ouverture de Word est correctement
paramétrée. Le doc est ouvert par
...
Set Dc = Wd.Documents.Open("c:\LA_FICHE.doc")
ou par
Set Dc = Wd.Documents.Add("c:\LA_FICHE.doc")
ce qui donne le même résultat.
Mais, le problème, c'est que le fichier est ouvert sans le lien vers mon
fichier de données, les champs de fusion étant bien présent.
J'ai récupéré dans Word et adapté dans Excel le vba de l'attachement à la
source :
Wd.MailMerge.OpenDataSource Name:=.......
mais rien ne se passe.
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
heureux-oli
Bonjour,
MailMerge s'applique à un document, si j'ai bien lu ton code, tu applique à l'application.
Dim wApp as Word.Application Dim oDoc as Word.Document
Set wApp = GetObject(,"Word.Application") Set oDoc = wApp.Documents.Open (" c: .......") oDoc.MailMerge.OpenDataSource Name: Petite précision, Add et Open n'ont pas vraiment le même effet.
Add est prévu pour être utilisé avec un modèle *.dot et va créer un nouveau document vide basé sur ce modèle.
Open va ouvrir un document et peut être utilisé sur un *.doc et *.dot.
Le résultat semble pareil, mais il ne l'est pas totalement.
j'ai un document Word avec des champs de fusion qui s'appuie sur un fichier Excel.
Quand j'ouvre le document Word par double click, un message m'annonce que les "données de ma base de données seront placées dans le document...". Je valide et le doc se met à jour des données actuelles d'Excel.
Dans un fichier Excel, une macro me fait faire une sélection de fiche et renplace le fichier cible de mon publipostage puis ouvre, mon *.doc afin d'afficher mon publipostage. L'ouverture de Word est correctement paramétrée. Le doc est ouvert par ... Set Dc = Wd.Documents.Open("c:LA_FICHE.doc") ou par Set Dc = Wd.Documents.Add("c:LA_FICHE.doc") ce qui donne le même résultat.
Mais, le problème, c'est que le fichier est ouvert sans le lien vers mon fichier de données, les champs de fusion étant bien présent.
J'ai récupéré dans Word et adapté dans Excel le vba de l'attachement à la source : Wd.MailMerge.OpenDataSource Name:=....... mais rien ne se passe.
Qu'est-ce qui manque pour que ça fonctionne ?
Merci d'avance à qui me mettra sur la voie.
Jac
Bonjour,
MailMerge s'applique à un document, si j'ai bien lu ton code, tu applique à
l'application.
Dim wApp as Word.Application
Dim oDoc as Word.Document
Set wApp = GetObject(,"Word.Application")
Set oDoc = wApp.Documents.Open (" c: .......")
oDoc.MailMerge.OpenDataSource Name:
Petite précision, Add et Open n'ont pas vraiment le même effet.
Add est prévu pour être utilisé avec un modèle *.dot et va créer un nouveau
document vide basé sur ce modèle.
Open va ouvrir un document et peut être utilisé sur un *.doc et *.dot.
Le résultat semble pareil, mais il ne l'est pas totalement.
"Jac" <Jsansp@mfra.net> a écrit dans le message de news:
el80gpaZIHA.4808@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
j'ai un document Word avec des champs de fusion qui s'appuie sur un
fichier Excel.
Quand j'ouvre le document Word par double click, un message m'annonce que
les "données de ma base de données seront placées dans le document...". Je
valide et le doc se met à jour des données actuelles d'Excel.
Dans un fichier Excel, une macro me fait faire une sélection de fiche et
renplace le fichier cible de mon publipostage puis ouvre, mon *.doc afin
d'afficher mon publipostage. L'ouverture de Word est correctement
paramétrée. Le doc est ouvert par
...
Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")
ou par
Set Dc = Wd.Documents.Add("c:LA_FICHE.doc")
ce qui donne le même résultat.
Mais, le problème, c'est que le fichier est ouvert sans le lien vers mon
fichier de données, les champs de fusion étant bien présent.
J'ai récupéré dans Word et adapté dans Excel le vba de l'attachement à la
source :
Wd.MailMerge.OpenDataSource Name:=.......
mais rien ne se passe.
MailMerge s'applique à un document, si j'ai bien lu ton code, tu applique à l'application.
Dim wApp as Word.Application Dim oDoc as Word.Document
Set wApp = GetObject(,"Word.Application") Set oDoc = wApp.Documents.Open (" c: .......") oDoc.MailMerge.OpenDataSource Name: Petite précision, Add et Open n'ont pas vraiment le même effet.
Add est prévu pour être utilisé avec un modèle *.dot et va créer un nouveau document vide basé sur ce modèle.
Open va ouvrir un document et peut être utilisé sur un *.doc et *.dot.
Le résultat semble pareil, mais il ne l'est pas totalement.
j'ai un document Word avec des champs de fusion qui s'appuie sur un fichier Excel.
Quand j'ouvre le document Word par double click, un message m'annonce que les "données de ma base de données seront placées dans le document...". Je valide et le doc se met à jour des données actuelles d'Excel.
Dans un fichier Excel, une macro me fait faire une sélection de fiche et renplace le fichier cible de mon publipostage puis ouvre, mon *.doc afin d'afficher mon publipostage. L'ouverture de Word est correctement paramétrée. Le doc est ouvert par ... Set Dc = Wd.Documents.Open("c:LA_FICHE.doc") ou par Set Dc = Wd.Documents.Add("c:LA_FICHE.doc") ce qui donne le même résultat.
Mais, le problème, c'est que le fichier est ouvert sans le lien vers mon fichier de données, les champs de fusion étant bien présent.
J'ai récupéré dans Word et adapté dans Excel le vba de l'attachement à la source : Wd.MailMerge.OpenDataSource Name:=....... mais rien ne se passe.