Chemin relatif dans commande Shell
Bonjour,
J'utilise une macro pour effectuer un publipostage à partir d'une feuille excel et un bonton clikable.
Tout fonctionne très bien, avec cette commande dans le seul module qui fait référence à un chemin absolu de fichier:
(je ne mets pas le reste des scripts car tout fonctionne bien)
Code:
1 2 3 4 5
| Sub worddd()
MyAppID = Shell("Winword.EXE ""C:\totoprojet\totodoc\toto.doc""", 1)
End Sub |
Je souhaiterais pouvoir dupliquer mon classeur excel dans plusieurs emplacements différents,
et donc indiquer un chemin relatif dans la commande ci dessus.
le document de fusion "toto.doc" sera toujours dans le même dossier que la feuille excel qui fait le publipostage (ou dans un sous dossier au même niveau comme l'exemple ci dessus).
C'est soit très simple, soit très compliqué, mais je n'arrive pas à trouver de ressource utilisable sur le web pour résoudre cela...
merci d'avance !
Maintenant, c'est word qui bloque ma fusion ordonnée depuis excel !
re bonjour,
Je suis désormais bloqué par la fusion word puisque dans le document principal de fusion appelé, le chemin absolu de ma base est enregistré en "dur" comme source des données. J'utilise ce code, pour piloter le publipostage depuis excel:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Sub Editiontoto()
Sheets("Editiontoto"). Unprotect Password:="Atoto"
Range("BP1").Select
Range("Bdtoto!A1:Bg1065").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"Editiontoto!Bl1:Bl2"), CopyToRange:=Range("Editiontoto!A1:Bg1065"), Unique:=False
Sheets("Editiontoto").Protect Password:="Atoto"
Call worddd
End Sub
Sub worddd()
MyAppID = Shell("Winword.EXE """ & ThisWorkbook.Path & "\Matricetoto\toto.doc""", 1)
End Sub |
le document word "toto" execute:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Private Sub Document_Open()
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
Call fermer
End Sub |
Le blocage se situe à l'ouverture du fichier word, puisque le chemin absolu de la source de données n'est plus valide.
Avez vous une idée pour solutionner ce problème, ou le contourner ? sachant que je souhaite garder le pilotage de la fusion depuis le classeur excel ?
Merci d'avance !
OK mais partie word à optimiser :-)
Bonjour,
La solution à mon problème est OK pour la partie Excel...
Et OK à optimiser pour la partie Word (voir mon post à ce sujet dans le forum VBA Word).
Merci pour l'aide apportée !!!
Laurent