Bonjour
je suis à mettre au point le remplissage automatique d'un formulaire Word à l'aide d'un table de données Excel.
J'utilise des signets dans Word pour repérer les champs et y inscrire les valeurs d'une table Excel.
La difficulté est que je veux utiliser un fichier Word qui est un objet OLE dans ma feuille Excel.
J'ouvre l'objet Word et met à jour les champs. OK.
Je ferme Word et à la deuxième exécution j'ai l'erreur 642 (Le serveur distant n'existe pas ou n'est pas disponible).
J'ai vu le même problème et la solution dans le forum (http://support.microsoft.com/kb/189618), mais vu l'utilisation d'un objet OLE, je manque de technique et je n'arrive pas à résoudre, i.e. associer l'objet OLE à l'application Word pour à la fin détruire l'instance de Word.
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
16
17
18
19
20
21
22
23
24
25 Private Sub CommandButton1_Click() Dim WApp As Word.Application Dim Docc As OLEObject Données = Feuil1.Range("DataWord") Set Docc = Feuil1.OLEObjects("WordDoc1") Docc.Verb xlVerbOpen With ActiveDocument For L = 1 To UBound(Données) Signet = Données(L, 1) Valeur = Données(L, 2) Select Case .FormFields(Signet).Type Case 70, 83 'Texte et listbox .FormFields(Signet).Result = Valeur Case 71 'Checkbox .FormFields(Signet).CheckBox.Default = IIf(Valeur = "Vrai", True, False) End Select Next L End With Set Docc = Nothing End Sub
Partager