Bonjour,
Avec une base de données ACCES, je lance un fichier WORD pour un publipostage. Cela marche bien ! .
Cependant lorsque je crée un fichier d'instal, cette procédure ne marche plus correctement .
"En clientelle", En effet, le code VBA lors de l'ouverture du document génère une boite modale demandant de sélectionner l'emplacement de la source de données. Cette information est contenue dans la ligne suivante !!! (donc si je fais annuler, le document de fusion se met en route correctement).
L'installation de la base et des différents fichiers est laissé "libre" à l'utilisateur. Je ne peux donc pas prévoir ou l'installation sera mise; cependant le fichier WORD est localisé dans un répertoire défini par l'installation.
Peut-on empêcher les "
- Set lobjWDDoc = GetObject(CurrentProject.Path & "\WORD\" & cboListe.ItemData(cboListe.ListIndex), "Word.Document")
ou
- Set lobjWDDoc = lobjWDApp.Documents.Open(CurrentProject.Path & "\WORD\" & cboListe.ItemData(cboListe.ListIndex), ReadOnly:=True)
"
de déclencher l'appel de la fenetre de recherche de la source de données car l'info est juste après (voir opendatasource) ? ....:
Je précise que le fichier WORD est un document de fusion principal, il pointe sur une table de ma base et possède des champs de fusion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 'Set lobjWDDoc = GetObject(CurrentProject.Path & "\WORD\" & cboListe.ItemData(cboListe.ListIndex), "Word.Document") Set lobjWDDoc = lobjWDApp.Documents.Open(CurrentProject.Path & "\WORD\" & cboListe.ItemData(cboListe.ListIndex), ReadOnly:=True) lobjWDDoc.Application.Visible = True With lobjWDDoc.MailMerge .MainDocumentType = wdFormLetters .OpenDataSource _ Name:=CurrentProject.Path & "\" & CurrentProject.Name, _ LinkToSource:=True, _ Connection:="TABLE " & mstrEdTable, _ SQLStatement:="SELECT * FROM " & mstrEdTable End With ' Exécution de la fusion. lobjWDDoc.MailMerge.Execute
Le publipostage ne marche pas car après une installation chez un utilisateur, l'ouverture du fichier word par code VBA ACCES génère l'ouverture malencontreuse la recherche de la source de données. Comment ne pas avoir ce message car les fichiers originaux sont fait depuis mon répertoire ?
Que j'utilise "GetObject" ou "documents.open", cela ne change rien !!
Merci pour votre aide.
Partager