Publipostage - enregistrer les documents dans le dossier courant
Résolu/Fermé
Nai
Messages postés
711
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
25 août 2023
-
Modifié par Nai le 31/08/2015 à 17:39
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 - 1 sept. 2015 à 21:16
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 - 1 sept. 2015 à 21:16
A voir également:
- Publipostage - enregistrer les documents dans le dossier courant
- Audacity enregistrer son pc - Guide
- Publipostage mail - Guide
- Enregistrer son ecran - Guide
- Dossier appdata - Guide
- Mettre un mot de passe sur un dossier - Guide
4 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
1 sept. 2015 à 21:03
1 sept. 2015 à 21:03
Essaie ceci:
ActiveDocument.SaveAs FileName:=ActiveDocument.Path & "\" & DocName & ".docx", FileFormat:= _ wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _ True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _ False, SaveNativePictureFormat:=False, SaveFormsData:=False, _ SaveAsAOCELetter:=False
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
1 sept. 2015 à 13:55
1 sept. 2015 à 13:55
Bonjour,
Le chemin du document Word est le suivant:
Le chemin du document Word est le suivant:
Dim cheminfichier As Variant cheminfichier = ThisDocument.Path & "\" & DocName & ".docx"
Nai
Messages postés
711
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
25 août 2023
54
1 sept. 2015 à 14:25
1 sept. 2015 à 14:25
Bonjour,
Merci pour cette réponse.
Je ne comprend pas bien où je dois le poser.
Merci d'avance :)
Merci pour cette réponse.
Je ne comprend pas bien où je dois le poser.
Dim cheminfichier As Variant With ActiveDocument .SaveAs cheminfichier = ThisDocument.Path & "\" & DocName & ".docx" .Close End With
Merci d'avance :)
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
1 sept. 2015 à 14:32
1 sept. 2015 à 14:32
C'était juste pour te montrer le chemin du fichier.
Voici:
Voici:
With ActiveDocument .SaveAs ThisDocument.Path & "\" & DocName & ".docx" .Close End With
Nai
Messages postés
711
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
25 août 2023
54
1 sept. 2015 à 14:59
1 sept. 2015 à 14:59
Du coup, à quoi sert :
Le code donne donc :
Ça a l'air de fonctionner. Mais je ne retrouve pas les documents crées dans le dossier du fichier ouvert :/
Dim cheminfichier As Variant
Le code donne donc :
Sub TestPublipost() ' Déclaration des variables Dim iR As Integer Dim i As Integer Dim oDoc As Document Dim DocName As String Dim oDS As MailMergeDataSource ' Affectation des objets Set oDoc = ActiveDocument Set oDS = oDoc.MailMerge.DataSource iR = oDoc.MailMerge.DataSource.RecordCount Debug.Print iR For i = 1 To iR With oDoc.MailMerge 'Définition du premier et dernier enregistrement .DataSource.FirstRecord = i .DataSource.LastRecord = i ' Envoi des données dans un nouveau document .Destination = wdSendToNewDocument ' Exécution du publipostage .Execute ' Actualisation de l'enregistrement pour la sauvegarde .DataSource.ActiveRecord = i 'Utilisation de deux champs pour obtenir le nom du document DocName = .DataSource.DataFields(1).Value DocName = "Convention 2015-2016 - " & DocName Debug.Print DocName; i End With ' Sauvegarde du document publiposté With ActiveDocument .SaveAs ThisDocument.Path & "\" & DocName & ".docx" .Close End With Next i End Sub
Ça a l'air de fonctionner. Mais je ne retrouve pas les documents crées dans le dossier du fichier ouvert :/
Nai
Messages postés
711
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
25 août 2023
54
1 sept. 2015 à 15:10
1 sept. 2015 à 15:10
Ah si ! Je les ai trouvé dans C:\Users\Name\AppData\Roaming\Microsoft\Templates :O
Je n'ai peut-être pas bien compris comment ajouter le code :/
Je n'ai peut-être pas bien compris comment ajouter le code :/
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
1 sept. 2015 à 16:04
1 sept. 2015 à 16:04
A quoi sert:
Si tu veux te servir du chemin plusieurs fois ou dans une autre Sub (à ce moment là, faire la déclaration en dehors des Sub tout en haut) cela t'évite de répéter tout le chemin en mettant:
pour ce qui est du chemin, une petite vérification en mettant:
Dim cheminfichier As Variant
Si tu veux te servir du chemin plusieurs fois ou dans une autre Sub (à ce moment là, faire la déclaration en dehors des Sub tout en haut) cela t'évite de répéter tout le chemin en mettant:
cheminfichier = ThisDocument.Path & "\" & DocName & ".docx" With ActiveDocument .SaveAs cheminfichier .Close End With
pour ce qui est du chemin, une petite vérification en mettant:
'a mettre tout ce qui est avant MsgBox ThisDocument.Path & "\" & DocName & ".docx" ' Sauvegarde du document publiposté With ActiveDocument .SaveAs ThisDocument.Path & "\" & DocName & ".docx" .Close End With Next i End Sub
Nai
Messages postés
711
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
25 août 2023
54
1 sept. 2015 à 18:20
1 sept. 2015 à 18:20
Effectivement, le MsgBox m'indique le dossier : C:\Users\Name\AppData\Roaming\Microsoft\Templates
Pourtant, le fichier ne se trouve pas du tout là...
Merci pour :
Ça peut servir :)
Pourtant, le fichier ne se trouve pas du tout là...
Merci pour :
cheminfichier = ThisDocument.Path & "\" & DocName & ".docx"
Ça peut servir :)
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
>
Nai
Messages postés
711
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
25 août 2023
1 sept. 2015 à 18:37
1 sept. 2015 à 18:37
Essaie avec:
mais c'est la même chose!
MsgBox ActiveDocument.Path & "\" & DocName & ".docx"
mais c'est la même chose!
Nai
Messages postés
711
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
25 août 2023
54
Modifié par Nai le 1/09/2015 à 19:41
Modifié par Nai le 1/09/2015 à 19:41
Merci ! Il semblerait que non...
Ce code :
M'affiche bien le bon dossier.
Par contre, dès que je met :
Ça me ramène à l'erreur 5156 : "Impossible d'enregistrer ou de créer ce fichier. Vérifiez que le disque où vous voulez enregistrer le fichier n'est pas saturé, protégé en écriture ou endommagé."
Je ne suis pas sous Vista et ne souhaite pas enregistrer le fichier à la racine du lecteur...
Une idée de solution ?
Ce code :
MsgBox ActiveDocument.Path & "\" & DocName & ".docx"
M'affiche bien le bon dossier.
Par contre, dès que je met :
With ActiveDocument .SaveAs ActiveDocument.Path & "\" & DocName & ".docx" .Close End With
Ça me ramène à l'erreur 5156 : "Impossible d'enregistrer ou de créer ce fichier. Vérifiez que le disque où vous voulez enregistrer le fichier n'est pas saturé, protégé en écriture ou endommagé."
Je ne suis pas sous Vista et ne souhaite pas enregistrer le fichier à la racine du lecteur...
Une idée de solution ?
1 sept. 2015 à 21:16
J'ai trouvé une solution :
Partant du principe que le MsgBox en début de macro m'affiche le bon répertoire, j'ai demandé, selon le code que tu as donné tout à l'heure, de définir cheminfichier dès le début. Ainsi, je suis sûr que cheminfichier est le bon. Puis je l'ai fais apparaître là où je voulais qu'il soit, en ajoutant le complément du nom du fichier crée.
Merci encore Le Pivert :)