Forum - Questions générale - Sujet n°778

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 08/12/2016 : 13:10  Sujet n° 778  Ouvrir un document Word basé sur un modéle et y copier un texte

le 06/12/2016 : 19:33
par possible924

Anonyme

visiteur

Bonjour à tous,
Je souhaiterais à partir d'un bouton ouvrir un document Word basé sur un modèle, atteindre un signet dans ce document et y coller une valeur.
J'ai écrit cela, mais ça ne suffit pas !
Dim oApp As Object
Set oApp = CreateObject("Word.Application")
oApp.Visible = True

With oApp
.Documents.Open FileName:="Z:\Alliance\Modèles\LettreInvitation.dot"
'.Goto Adresse
'.Paste DestinataireCourrier & vbCrLf & AdresseCourrier
End With
Pouvez vous me dire ce qui ne va pas ?
Merci par avance pour votre aide
Pierre
 sujet clos  Haut

[]   

Réponse n° 1
--------
le 07/12/2016 : 01:46
par 3Stone

3Stone

Administrateur

Bonjour,

Pour utiliser l'automation, ici de Word, il y a une méthode qui apporte une bonne aide.

Il faut ouvrir Word et créer une nouvelle macro.
Tu démarre l'enregistrement et tu effectue les actions que tu souhaites réaliser.
Le mieux est de ne pas faire trop de "pas" en une fois. Par exemple, rejoindre un signet.
On termine la macro et on va regarder le code...
Pour rejoindre un signet, on trouvera par exemple :
 

Code :
Selection.GoTo What:=wdGoToBookmark, Name:="MonSignet"

 En découpant les actions, la recupération et adaptation du code sera simplifié.

Cordialement,
Pierre (3Stone)

  clos par 3Stone le 08/12/2016 : 13:10  Haut
Réponse n° 2
--------
le 07/12/2016 : 08:19
par possible924

Anonyme

visiteur
Bonjour,
Merci pour le bon conseil que j'ai suivi.
J'ai donc fait une macro dans Word et récupéré des éléments de code
et ça marche assez bien :

Private Sub Courrier_Click()
If DSum("Corresp_Destinataire", "T_Correspondants", "Corresp_Clé_Paroisse =" & Me.CléP_Paroisse) = 0 Then
If MsgBox("Vous devez sélectionner un correspondant !", vbExclamation, CurrentDb.Properties("AppTitle") & " - " & Version) = 1 Then Exit Sub
End If
Dim DestinataireCourrier As Variant
DestinataireCourrier = DLookup("Correspondant", "R_Correspondants_Destinataires", "Corresp_Clé_Paroisse =" & Me.CléP_Paroisse)
Dim AdresseCourrier As String
AdresseCourrier = Me.P_Nom_Adresse & vbCrLf & Me.P_Ad1 & IIf(IsNull(Me.P_Ad1) Or IsNull(Me.P_Ad2), "", vbCrLf) & Me.P_Ad2 & vbCrLf & Me.P_CP & " " & Me.P_Ville
Dim Selection As Variant
Selection = DestinataireCourrier & vbCrLf & AdresseCourrier

Dim appWD As Object
Set appWD = CreateObject("Word.Application")
With appWD
.Visible = True
.Documents.Add Template:="Z:\Alliance\Modèles\LettreBureauDesMariages.dot", NewTemplate:=False, DocumentType:=0
.Activate
.activedocument.Bookmarks("Adresse").Select
Selection.Paste
End With

End Sub

Ce que je n'arrive pas à faire, c'est coller au signet Adresse le contenu se la variable Selection
A bientôt
Pierre
  clos par 3Stone le 08/12/2016 : 13:10  Haut
Réponse n° 3
--------
le 08/12/2016 : 03:59
par 3Stone

3Stone

Administrateur

Bonjour,

Essaie :
 
Code :
.activedocument.Bookmarks("Adresse").Range.Text = AdresseCourrier
 
Cordialement,
Pierre (3Stone)
  clos par 3Stone le 08/12/2016 : 13:10  Haut
Réponse n° 4
--------
le 08/12/2016 : 09:01
par possible924

Anonyme

visiteur
ça marche parfaitement !
Merci pour tout
et très bonne journée
Pierre
  clos par 3Stone le 08/12/2016 : 13:10  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut