OVH Cloud OVH Cloud

Publipostage et accent

11 réponses
Avatar
Bill2
Bonjour à tous, (et bonne année au passage ...)

J'avais déjà posté quelques message sur ce news group pour un projet sur
lequel je bosse.

Petit rappel : executer une fusion de document depuis une page ASP qui
récupère les infos dans une BDD.

Alors, j'avais des pb avec des requetes trop longues, donc je suis passé par
un fichier texte temporaire.

J'ai donc :
- un fichier texte, contenant
=> les noms des entêtes de champs
=> les champs
(séparateur : la virgule)
- une trame sous word, avec mes champs de fusion

Mon petit script ASP fonctionne impec, et réalise maintenant des fusions
comme demandé.

Seul pb : les accents du fichier texte ne sont pas correctement interprétés
et sont remplacés par des "carrés".

Pour ouvrir ma source de données, je fais ça :
MyDoc.MailMerge.OpenDataSource NomFichierSource

Dans la doc de word, pour la méthode OpenDataSource de l'objet MailMerge, il
est indiqué qu'on peut préciser le format de conversion :

expression.OpenDataSource(Name, Format, ConfirmConversions, ReadOnly,
LinkToSource, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert,
WritePasswordDocument, WritePasswordTemplate, Connection, SQLStatement,
SQLStatement1, OpenExclusive)

ce sont les 2e et 3e params (Format, ConfirmConversions)

J'ai récupéré les valeurs des constantes possible pour le paramètre Format,
mais quelque soit le type demandé, j'obtient tjs le même résultat.

Par contre, si j'ouvre ma trame, et que j'associé manuellement la source de
donnée, Word me demande la conversion que je veux.
J'ai le choix entre
- windows
- MS-DOS
- Autre codage, qui est sélectionné et positionné par défaut sur Japonais
(décalage-JIS)

Si je choisi le codage Windows, tout fonctionne impec !

Comment faire pour forcer le codage dans mon script ASP ?

Faut-il utiliser une extension spécifique ? (pour le moment, c'est mis une
extension .tmp, mais j'ai testé avec un .txt, sans plus de succès)

Merci à vous si vous avec une piste de recherche ...
--
Bill2

10 réponses

1 2
Avatar
Bill2
Bon, et bien, j'ai du nouveau ...

Mon pb doit venir de mon document trame de fusion, car après divers tests
avec 2 documents différents, il y en a un ou les accents ne posent aucun pb,
et l'autre ou ça déconne ...

Par contre, je ne sais pas quel réglage changer pour régler le pb ! :-(

--
Bill2
Proverbe à la con : Les enfants dans le noir font des bétises, et les
bétises dans le noir font des enfants!
Avatar
Bill2
Bill2 wrote:
Bon, et bien, j'ai du nouveau ...

Mon pb doit venir de mon document trame de fusion, car après divers
tests avec 2 documents différents, il y en a un ou les accents ne
posent aucun pb, et l'autre ou ça déconne ...

Par contre, je ne sais pas quel réglage changer pour régler le pb !
:-(


Après une séance de tests divers et variés, il s'avère que Word ne demande
plus à convertir le fichier lorsqu'il dépasse un certain nombre de
caractères ...

C'est très bizarre ...

Donc dans mon fichier texte généré, je rajoute une entete de champ bidon, et
pour chaque enregistrerement, un texte bidon "assez long" ...et là, miracle,
la fusion se déroule sans pb de conversion de caractères ...

C'est une bidouille honteuse, mais ça fonctionne, je ne vais pas chercher à
en compdre plus !

si vous voulez, pour ceux qui veulent reproduire le pb chez eux, je peux
donner
- le fichier word source
- 2 fichiers texte générés à fusionner, un qui marche sans pb, et l'autre
qui merdoie ...

(J'ai oublié, tout se passe sous Word 2003)

--
Bill2

Avatar
JièL Goubert
Bonjoir© Bill2

Le 04/01/2006 09:56 vous avez écrit... :
Après une séance de tests divers et variés, il s'avère que Word ne demande
plus à convertir le fichier lorsqu'il dépasse un certain nombre de
caractères ...


Merci pour ces tests, ça peut servir effectivement

si vous voulez, pour ceux qui veulent reproduire le pb chez eux, je peux
donner
- le fichier word source
- 2 fichiers texte générés à fusionner, un qui marche sans pb, et l'autre
qui merdoie ...


Oui, volontier. Mettez les fichiers dans un zip, envoyez le tout sur
cjoint.com et vennez nous donner le lien ici, comme ça vous n'aurez pas
à l'envoyer a + personnes

(J'ai oublié, tout se passe sous Word 2003)


Avec toutes les maj ?

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
Bill2
JièL Goubert wrote:

Merci pour ces tests, ça peut servir effectivement


c'est sûr, ça sert tjs !

Oui, volontier. Mettez les fichiers dans un zip, envoyez le tout sur
cjoint.com et vennez nous donner le lien ici, comme ça vous n'aurez
pas à l'envoyer a + personnes



voilà : http://cjoint.com/?bekJwcNXyw

alors, il y a
- la trame word "épurée" (j'ai enlevé des logos, le nom de ma boite - meme
si on peut le retrouver facilement)
- 2 fichiers texte avec des noms explicites

le but du jeu, ouvrir la trame word, et associer un des fichiers texte en
tant que source de fusion
sur le fichier à pb : il y a demande de conversion

sur le fichier sans pb, tout passe nickel

en fait, meme pas besoin d'effectuer la fusion à proprement parler (sauf si
vous voulez voir le résultat en laissant la conversion par défaut en jap de
word ...)

Je fais mes tests en refermant la trame à chaque fois pour plus de sûreté

(J'ai oublié, tout se passe sous Word 2003)


Avec toutes les maj ?


euh, non sans doute pas, vu qu'on a un parc info avec différentes versions
d'office installé ....
certains teste les MAJ, et qd tout se trouve ok, les MAJ sont propagées ...

--
Bill2
Citation : L'intelligence artificielle se définit comme le contraire de la
bêtise naturelle.
(Woody Allen)


Avatar
JièL Goubert
Bonjoir© Bill2

Le 04/01/2006 10:39 vous avez écrit... :
voilà : http://cjoint.com/?bekJwcNXyw

alors, il y a
- la trame word "épurée" (j'ai enlevé des logos, le nom de ma boite - meme
si on peut le retrouver facilement)
- 2 fichiers texte avec des noms explicites


ok, c'est clair

le but du jeu, ouvrir la trame word, et associer un des fichiers texte en
tant que source de fusion
sur le fichier à pb : il y a demande de conversion

sur le fichier sans pb, tout passe nickel


Testé et approuvé, même avec le SP2 récement installé

J'ai déjà vu ce soucis et j'avais trouvé un moyen de m'en sortir, mais
je ne me souviens plus du tout... je vais rechercher, mais comme c'est
sur des docs d'utilisateurs, au bout d'un moment je vire :-s

Autre test que j'ai fais, mettre 3 caractères accentués dans les
premiers caractères de l'entête. ex
"ééé";"IdPrestation";"E_RaisonSociale";"E_CP";"E_Ville";"P_Objet"

la non plus, plus de demande de conversion, mais avec 1 ou 2 il demande.
J'avais déjà posé la question de savoir comment Word reconnaissait tel
ou tel type de fichier, mais je n'ai pas trouvé de réponse...

Faudrait avoir un des dév de word pour ça, et là, on peut toujours
réver... a moins que Thierry Fontenelle ...???

Je vais essayer de mettre une balise spéciale pour lui ;-)

A suivre

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
Geo

a moins que Thierry Fontenelle ...???


C'est sûr qu'à vous deux en terme d'accent ça doit faire quelque chose
!

--
Geo de la douce Touraine où on parle le français sans accent.



--
A+

Avatar
JièL Goubert
Bonjoir© Bill2

Le 03/01/2006 15:06 vous avez écrit... :
Bonjour à tous, (et bonne année au passage ...)

Pour ouvrir ma source de données, je fais ça :
MyDoc.MailMerge.OpenDataSource NomFichierSource


a tout zazard... Vous avez essayé ceci
MyDoc.MailMerge.OpenDataSource NomFichierSource, Format:=wdOpenFormatText
(sur une seule ligne)

J'avais un soucis d'ouverture d'un fichier texte qui avait les même
caractéristiques que les votres et c'est la fonction que j'ai utilisé.

Merci à vous si vous avec une piste de recherche ...


--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
Bill2
JièL Goubert wrote:


a tout zazard... Vous avez essayé ceci
MyDoc.MailMerge.OpenDataSource NomFichierSource,
Format:=wdOpenFormatText (sur une seule ligne)

J'avais un soucis d'ouverture d'un fichier texte qui avait les même
caractéristiques que les votres et c'est la fonction que j'ai utilisé.




vu que je sui sur une page ASP, le VB façon word n'est pas utilisable en
l'état.

Mais j'ai testé avec un
MyDoc.MailMerge.OpenDataSource NomFichierSource, Constantes

en passant par toutes les valeurs de 1 à 9, sans résultat ....

Donc tant pis, je rajoute un peu de texte bidon dans mon fichier, et sa
passe ...
C'est pas la mort non plus donc ... même si ce genre de solution reste un
bricolage "immonde" ...

Merci à vous.
--
Bill2
Philosophie : Les chefs sont comme les nuages, quand ils disparaissent,
il fait magnifique.

Avatar
JièL Goubert
Bonjoir© Bill2

Le 06/01/2006 08:42 vous avez écrit... :
vu que je sui sur une page ASP, le VB façon word n'est pas utilisable en
l'état.


ok

Mais j'ai testé avec un
MyDoc.MailMerge.OpenDataSource NomFichierSource, Constantes


ben oui, mais la rien ne dit que c'est "format:=" qui doit prendre la
valeur indiquée...
Y'a une autre sainte axe avec des parenthèse me semble t'il... non ?

Donc tant pis, je rajoute un peu de texte bidon dans mon fichier, et sa
passe ...
C'est pas la mort non plus donc ... même si ce genre de solution reste un
bricolage "immonde" ...


ouais... mais bon dommage quand même ;-)

Merci à vous.


--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
Emmanuel ALBERT
Après de longues investiguations, il s'avère que c'est la faute à Bill et
que la Mise à jour d'Office (SP3) règle le problème.
1 2