Ce petit programme permet de faire un fusion de document en vu d'un mailing sous word
partir de VB
un fichier DOT sous le format word doit exister.
Il doit contenir des champs de fusions relatifs au fichier de donnes (sous format texte séparé par des points virgule ).
Thierry RICARD
Source / Exemple :
'Creation de la fusion
Dim mvarDocumentId As Variant
Dim objWord As Word.Application
Set objWord = CreateObject("Word.Application.8")
Set mvarDocumentId = objWord.Documents.Add(CStr("chemin du fichier DOT") + CStr("Nom du fichier DOT"), False)
objWord.ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
objWord.ActiveDocument.MailMerge.OpenDataSource Name:= _
App.Path & "Nom du fichier TXT", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"DSN=Text Files;DBQ=" & App.Path & ";DefaultDir=" & App.Path & ";DriverId=27;MaxBufferSize=2048;PageTimeout=5;" _
, SQLStatement:="SELECT * FROM `Nom du fichier TXT`", SQLStatement1:=""
With objWord.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
objWord.ActivePrinter = "Xerox 4512 PCL5e"
'"Xerox DocuPrint P8e PCL-5e"
objWord.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:=False
objWord.ActivePrinter = "Xerox 4512 PCL5e"
mvarDocumentId.Close False
'attente que l'impression des documents soit finis avant de quitter word
While objWord.BackgroundPrintingStatus <> 0
Wend
objWord.Quit wdDoNotSaveChanges 'je ne sauvegarde pas les documents
la fin de l'impression
Set objWord = Nothing
'Fin Creation de la fusion
Conclusion :
Exemple fichier txt :
NOM;PRENOM;AGE
TOTO;ZZZZZ;20
TITI,YYYYY;30
...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.