J'essaie d'automatiser la création d'un publipostage dans Word à partir d'une feuille de calcul Excel. J'ai enregistré une macro qui en fait la majeure partie, mais l'enregistrement ne fonctionne pas lorsque la boîte de dialogue 'Modifier les destinataires' est ouverte, donc je dois aller dans le code VBA pour faire le tri et le filtrage. À l'heure actuelle tout le code est le suivant:Tri et filtrage d'un publipostage Word avec VBA
Sub Castingdirectors()
'
' Castingdirectors Macro
'
'
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
ChangeFileOpenDirectory "Y:\--file path redacted--\CASTING BOOK\"
ActiveDocument.SaveAs2 FileName:= _
"Y:\--file path redacted--\Casting Directors.docx", FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False, CompatibilityMode:=14
ActiveWindow.Close
End Sub
Cela génère un publipostage de toutes les entrées.
J'ai besoin de filtrer de sorte que les entrées où le champ 'CASTING DIRECTOR SORT' est vide ne sont PAS inclus, et de trier par CASTING DIRECTOR SORT ascendant. Je peux le faire en insérant un champ 'skip record' dans le corps du document de publipostage Word et en faisant le 'sort' manuellement, mais j'essaye de créer un document de fusion 'maître', avec plusieurs macros assignés à des boutons de commande qui vont exécuter et sauvegarder différents publipostages avec différents tri/filtrage.
Merci pour votre réponse - malheureusement, je trouve que le Macro Recorder ne relève pas cela, et je suis également conscient de vouloir éviter d'utiliser la boîte de dialogue de filtrage car il est buggé (quelque chose que j'ai vu rapporté autre part). –
Je ne suis pas au courant que la boîte de dialogue de niveau plus profond est boguée. Il remonte aux jours précédents et était toujours très fiable car il génère du SQL standard pour le filtrage. Pourriez-vous me montrer ce que vous avez lu ailleurs? Et avec quelle version de Word travaillez-vous? –
Il y a une discussion des problèmes résultant de IS BLANK etc. dans certaines sources de données à http://answers.microsoft.com/en-us/office/forum/office_2007-word/mailmerge-gives-unexpected-results-when -filtre/fc6ebd5d-7320-4a21-866f-a3013e2f9090. Est-ce cela que vous voulez dire? –