Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 23-07-2013 14:59:19

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Problème de fusion de modèle Word avec fichier txt

Bonjour à tous,

Je voulais mettre en place une fusion de modèle Word avec les data dans un TXT...
Lorsque je génère un fichier... pas de souci mais lorsque je dois générer plusieurs docs à la suite... pafff j'ai une erreur R0032 au niveau du .open du programme suivant :

Code: pb

Long  llWord
Integer  liResultat

OLEObject  DocWord //Lien à Word
OLEObject  ModeleWord  //DocumentWord à fusionner
OLEObject  ResultatWord  //Résultat de la fusion
 
// Tentative de connexion à word
llWord  =  OpenChannel ("Winword","SYSTEM",Handle(THIS))

// Création des objets
DocWord  =  CREATE OLEObject
ModeleWord  =  CREATE OLEObject
ResultatWord  =  CREATE OLEObject

IF llWord < 0 THEN
  // Word n'est pas lancé donc on ouvre une nouvelle session
  liResultat  =  DocWord.ConnectToNewObject("Word.Application")  
ELSE
  // Word est lancé, on ferme la connexion
  CloseChannel(llWord,Handle(THIS))
  liResultat  =  DocWord.ConnectToObject("","Word.Application")  
END IF
  
IF liResultat  =  0 THEN
  DocWord.Application.Visible  =  TRUE 
  
  //Ouverture du modèle
  DocWord.Application.Documents.open(asModele) //ERREUR ICI
  DocWord.Application.Activate()
  ModeleWord  =  DocWord.Application.ActiveDocument
  
  // Commande d’ouverture de la source de données
  DocWord.ActiveDocument.Mailmerge.OpenDataSource (asFichierDonnees,0,FALSE,FALSE, TRUE,FALSE, '','',FALSE,"", "", "Entire Spreadsheet")
  
  DocWord.ActiveDocument.MailMerge.Destination = 0 //Fusionner dans fichier
  
  DocWord.ActiveDocument.MailMerge.MailAsAttachment  =  FALSE
  DocWord.ActiveDocument.MailMerge.MailAddressFieldName  =  ""
  DocWord.ActiveDocument.MailMerge.MailSubject  =  ""
  DocWord.ActiveDocument.MailMerge.SuppressBlankLines  =  TRUE
  DocWord.Activedocument.MailMerge.DataSource.FirstRecord  =  1
  DocWord.ActiveDocument.MailMerge.DataSource.LastRecord  =  -16
    
  // Fusionner
  DocWord.ActiveDocument.MailMerge.Execute(TRUE)
  
  //Stocker le résultat
  ResultatWord  =  DocWord.ActiveDocument
  
  Modeleword.Close(0)
  DocWord.Application.Activate()
  DocWord.DisconnectObject()
END IF

// Destruction des objets
Destroy ModeleWord
Destroy DocWord
Destroy ResultatWord


Ce morceau de programme a été entièrement adapté d'un .doc que j'ai trouvé : http://pbadonf.fr/sam1/FusionWord.doc
;)

Si vous avez une idée du pourquoi cela plante à la seconde occurrence de document à fusionner, n'hésitez pas ;)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#2 24-07-2013 07:14:40

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Problème de fusion de modèle Word avec fichier txt

Salut

Alors... asModele est le chemin vers le modèle de document .dot

Et asFichierDonnees est le chemin vers le fichier de données à inclure lors de la fusion (un .txt avec des données séparées par un ;)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#3 24-07-2013 08:35:36

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Problème de fusion de modèle Word avec fichier txt

Alors... le programme génère différents fichiers txt en fonction des documents à générer.
Par exemple... je sélectionne une personne pour laquelle je veux éditer 2 documents (doc de formation : convocation et convention)... L'appli va générer un .txt pour le doc de la convocation et un autre .txt pour le doc de la convention.
La génération de la convocation se passe normalement avec remplacement des signets Word... Le modèle de la convention s'ouvre et paf... plantage (sur le open) sans remplacement des signets !

J'espère que c'est pas trop trop fouillis ^^


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#4 24-07-2013 08:47:07

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Problème de fusion de modèle Word avec fichier txt

euh... truc bizarre là, je vois mes messages apparaître en double, j'en supprime un et du coup les deux disparaissent ??

Sinon pour ton problème Word je te conseillerai de tester chaque document un par un pour valider que c'est pas un des types de merge qui a un problème. et/ou genre tester les 2 mais dans l'ordre inverse, pour voir si c'est toujours le 2eme merge qui plante ou toujours le merge "convention" par exemple.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#5 24-07-2013 09:11:51

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Problème de fusion de modèle Word avec fichier txt

Je viens de faire le test... et je viens de comprendre le problème !

Seul l'enchaînement des 2 doc pose problème... J'ai éditer les autres docs sans problème.
Je suis passé sur l'édition du pack "convoc+convention"... La convoc se charge et si... je ne touche à rien (pas de clic sur l'interface ou autre) le second doc se charge également.
Il ne doit pas aimer une pseudo interruption du traitement (il y a une latence de 10/20 secondes entre les 2 générations o_O).

Bref... ce doit être purement lié à un souci d'optimisation du code et/ou lenteur de requête et/ou lenteur d'accès au document

Dernière modification par jordel (24-07-2013 09:14:02)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#6 24-07-2013 09:41:40

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Problème de fusion de modèle Word avec fichier txt

jordel a écrit:

Bref... ce doit être purement lié à un souci d'optimisation du code et/ou lenteur de requête et/ou lenteur d'accès au document

Mouais... Comment dire ?
Disons simplement que cette explication ne semble pas trop cartésienne. Ça me rappelle un cas inverse ou un dev a dit à propos d'un comportement "bizarre" (selon lui) de son code "ça doit être mon ordi qui est trop rapide, je vais voir si je peux le ralentir", alors que c'était juste le code qui était bancale.

Pour mémoire, R0032 c'est "Name not found calling external object <object>. OLE error, dynamic function calls fails because the function does not exist".
Et la propriété disparaitrait uniquement si on fait traîner le traitement ? Il n'y aurait pas un traitement lors d'un GetFocus ou autres qui ferait disparaitre / réinitialiser la connexion OLE ou un truc du genre ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#7 02-08-2013 11:56:26

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Problème de fusion de modèle Word avec fichier txt

Oui je suis d'accord pour dire que c'est fumeux... mais je ne vois pas d'explication rationnelle !!!
Il doit s'agir d'un marabout qui me joue des tours ! ^^


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#8 02-08-2013 12:56:44

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: Problème de fusion de modèle Word avec fichier txt


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#9 05-08-2013 06:07:54

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Problème de fusion de modèle Word avec fichier txt

Ahah... j'ai pensé au même personnage "mondialement connu dans le quartier" en écrivant ma réponse ^^


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22