Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1816 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [vba word]Publipostage -->fusion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[vba word]Publipostage -->fusion

n°1395505
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 10:19:44  profilanswer
 

bonjour, je dois ajouter des informations d'une feuille word au publipostage (fusion) car j'aurai des documents fixes et des fichiers variables.Pour cela je dois utiliser vba word, j'ai inscri le code ci dessous et ça ne marche pas:Il me dit que le fichier est corrompu, ça veut dire quoi svp
 

Code :
  1. Private Sub CmdAjout_Click()
  2.    
  3.     Dim AppWord As Word.Application
  4.     Dim App As Words
  5.     Dim mvarDocumentId As Variant
  6.    
  7.    
  8.     Set AppWord = CreateObject("Word.Application.8" )
  9.     Set mvarDocumentId = AppWord.Documents.Add(CStr("chemin du fichier DOC" ) + CStr("Nom du fichier DOC" ), False)
  10.     AppWord.ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
  11.     AppWord.ActiveDocument.MailMerge.OpenDataSource Name:="" & "Nom du fichier DOC", ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=True, PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, format:=wdOpenFormatAuto, Connection:="DSN=Text Files;DBQ=" & "" & ";DefaultDir=" & "" & ";DriverId=27;MaxBufferSize=2048;PageTimeout=5;", SQLStatement:="SELECT * FROM `Nom du fichier DOC`", SQLStatement1:=""
  12.    
  13.     With AppWord.ActiveDocument.MailMerge
  14.     .Destination = wdSendToNewDocument
  15.     .MailAsAttachment = True
  16.     .MailAddressFieldName = ""
  17.     .MailSubject = ""
  18.     .SuppressBlankLines = True
  19.     With .DataSource
  20.     .FirstRecord = wdDefaultFirstRecord
  21.     .LastRecord = wdDefaultLastRecord
  22.     End With
  23.     .Execute Pause:=True
  24.     End With
  25.     AppWord.ActivePrinter = "PDFCreator"
  26.    '"PDFCreator"
  27.     AppWord.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:=wdPrintDocumentContent, Copies:="", Pages:="", PageType:=wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False
  28.     AppWord.ActivePrinter = "PDFCreator"
  29.    
  30.     mvarDocumentId.Close False
  31.     'attente que l'impression des documents soit finis avant de quitter word
  32.     While AppWord.BackgroundPrintingStatus <> 0
  33.     Wend
  34.    
  35.     AppWord.Quit wdDoNotSaveChanges 'je ne sauvegarde pas les documents ? la fin de l'impression
  36.     Set AppWord = Nothing
  37.    
  38. End Sub

mood
Publicité
Posté le 27-06-2006 à 10:19:44  profilanswer
 

n°1395508
jpcheck
Pioupiou
Posté le 27-06-2006 à 10:22:20  profilanswer
 

a quelle ligne ton code s'arrete-t-il de tourner ?

n°1395515
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 10:25:19  profilanswer
 

jpcheck a écrit :

a quelle ligne ton code s'arrete-t-il de tourner ?


 
a la ligne 10
 

n°1395519
jpcheck
Pioupiou
Posté le 27-06-2006 à 10:33:21  profilanswer
 

mais remplace déjà le "chemin du fichier DOC"  et "nom du fichier doc" par un truc du style "c:\mon_dossier" et "mon_fichier_doc.doc" ^^

n°1395525
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 10:41:48  profilanswer
 

jpcheck a écrit :

mais remplace déjà le "chemin du fichier DOC"  et "nom du fichier doc" par un truc du style "c:\mon_dossier" et "mon_fichier_doc.doc" ^^


 
Oui j'avais oublié mais çà ne marche toujours pas,je creuse mais je ne trouve pas

n°1395533
jpcheck
Pioupiou
Posté le 27-06-2006 à 10:48:15  profilanswer
 

résolvons ca par palier, est-ce déjà ton fichier .doc il est bon, tu passes ta ligne 10 du code ou pas ?

n°1395537
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 10:53:01  profilanswer
 

jpcheck a écrit :

résolvons ca par palier, est-ce déjà ton fichier .doc il est bon, tu passes ta ligne 10 du code ou pas ?


 
mon fichier.doc est bon, il n'y a pas de pb mais je passe pas la ligne 10

n°1395549
jpcheck
Pioupiou
Posté le 27-06-2006 à 11:04:11  profilanswer
 

Hisoka76 a écrit :

mon fichier.doc est bon, il n'y a pas de pb mais je passe pas la ligne 10


pkoi passes tu par du Cstr("a" )+Cstr("B" ) ?

n°1395556
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 11:08:23  profilanswer
 

jpcheck a écrit :

pkoi passes tu par du Cstr("a" )+Cstr("B" ) ?


 
le premier Cstr est pour indiquer le repertoire, le deuxième est pour indiquer le document ou je travaille...attend 2 sec, je crois qu'il manque le fichier d'arrivé, je test!

n°1395563
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 11:10:57  profilanswer
 

Non çà me fait toujours la meme chose, je ne comprend pas normalement c'est ça

mood
Publicité
Posté le 27-06-2006 à 11:10:57  profilanswer
 

n°1395569
jpcheck
Pioupiou
Posté le 27-06-2006 à 11:15:53  profilanswer
 

ne passe pas par des Cstr, mets simplement le "c:\dossierblabla\fichierblabla.doc"

n°1395585
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 11:24:42  profilanswer
 

T'es obligé de mettre ta template si t'en met une une nouvelle(la nouvelle est le nom du repertoire),j'essaye mais cà ne marche pas!
 
j'ai  changé le add en application mais moi, il faut que je fasse des modif aprés dans le publipostage!

n°1395590
jpcheck
Pioupiou
Posté le 27-06-2006 à 11:27:26  profilanswer
 

et au lieu de toutes ces lignes de codes tu passes par du shell ?

n°1395597
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 11:30:22  profilanswer
 

Eh non, le shell va me l'ouvrir sous une fenêtre "ouvrir sous", non?

n°1395606
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 11:36:22  profilanswer
 

merci pour tout mais j'ai vu quelque chose, si ca t'intéresse c'est de séparer le fichier par section, je trouve que c'est plus simple!

n°1395614
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 11:40:34  profilanswer
 

Avec cette méthode cà marche!mais merci quand meme!

n°1395622
jpcheck
Pioupiou
Posté le 27-06-2006 à 11:44:10  profilanswer
 

mets [résolu] dans le titre du topic, ca fait gagner du temps ^^

n°1395627
Hisoka76
Le magicien des cartes
Posté le 27-06-2006 à 11:47:47  profilanswer
 

OK merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [vba word]Publipostage -->fusion

 

Sujets relatifs
Manipulation Word sous .NetManipulation Word sous .Net
convertir document word - 1 bon point a celui qui me resoud ca[VBA]Copier une phrase de word dans excel
Récupérer contenu d'un fichier wordjava et word
help me java wordfin d'un document word
[VBA-access]:Publipostage de document WORD par messagerie électronique 
Plus de sujets relatifs à : [vba word]Publipostage -->fusion


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR