Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2011, 20h50   #1
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 140
Points : 43
Points : 43
Par défaut Pb PdfCreator en macro

Bonjour,

J'aimerai créer un document PDF depuis Word (ou pgm VB6.1 plus exactement avec référence Word).

En fait je veux utiliser l'objet clsPDFCreator qui a des exemples qui foisonnent sur le Net.
La contrainte même si je pense que ce n'en est pas une, et que mon pgm déconne, est que :
- Mon document Word fait du publipostage
- Il y a des caractères russes dans le document

Donc mon bout de code non exhaustif est donné comme suit :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Dim wdApp as Word.Application
Dim doc as Word.Document
' Debut du code
'...
 
Set pdf = New PDFCreator.clsPDFCreator
 
With pdf
        .cStart("/NoProcessingAtStartup") = False Then
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = Path
        .cOption("AutosaveFilename") = FileNameWithoutPath
        .cOption("AutosaveFormat") = 0   
        .cClearCache
End With
wdApp.ActivePrinter = "PDFCreator"
doc.PrintOut, True, False,,, FileNameWithPath
pdf.cClose
 
' Instruction de fin de programme
J'avoue que dans mon code ci dessus, il faudrait des vérifications plus robustes et c'est d'ailleurs ce que je fais mais mon problème n'est pas là.

En fait je génère bien le fichier PDF au bon endroit mais quand je l'ouvre avec AcrobatReader j'ai le message classique "Acrobate Reader n'a pas pu ... blablabla blablabla".

En ouvrant le PDF avec NotePad++ j'observe à la fin l'instruction EOT. Je ne suis pas spécialiste du PDF mais j'ai l'impression que le document n'a pas été terminé.

Si quelqu'un pouvait m'aider
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 20h56   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Et le document Word donne quoi lorsque tu le visionnes ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 20h58   #3
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 140
Points : 43
Points : 43
Le document il n'a aucun probleme sauf qu'à l'ouverture compte tenu du publipostage, il y a une dialogbox qui demande si on veut mettre à jour le document en fct des valeurs dans la dialogbox
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 23h09   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Et après fusion ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 06h40   #5
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 140
Points : 43
Points : 43
Après fusion aucun problème. L'ouverture se fait correctement sauf que par moment une fenêtre apparait où il demande l'installation d'un composant je ne sais plus lequel vu que je ne suis pas à mon travail ; je vous dirai quoi... Je pense que c'est du au caractère russe mais je ne suis pas sûr. Mais si je ne l'installe pas, je n'ai pas de problème ni à l'ouvrir ni à l'éditer.

D'ailleurs je ne pense pas que ce soit dû au document lui même car j'ai fait un essai avec un simple document word où j'ai écrit "salut" et j'ai fait une macro toute bête du même style que celle que j'ai présenté ci-dessus et... pareil j'arrive à générer le pdf mais pas à l'ouvrir correctement.

Je me demande si ce n'est pas un problème de mise en page car le doc russe d'origine avait une mise en page particulière avec orientation paysage et 2 feuilles par page... Ca m'a travaillé cette nuit je me demande si ça ne vient pas de ça... Je vais regarder et le cas échéant faire des essais et je vous tiens au courant
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 07h54   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

J'ai déjà utilisé PDFCreator via VBA, je n'ai jamais rencontré de problème particulier.
C'est ce qui me pousse à me tourner vers le document.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 05h57   #7
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 140
Points : 43
Points : 43
En fait tout est ds l'instruction

Code :
1
2
 
doc.PrintOut True,,,, NomFichierSortie
Le NomFichierSortie n'est pas du tout un document PDF mais un document prn.

Du coup j'ai enlevé l'option de la méthode PrintOut. Mais si je fais ça, même si les propriétés de clsPdfCeator.cOption("AutosaveFilename) et clsPdfCreator.cOption("AutosaveDirectory") sont remplis, j'ai la fenêtre de PDF Creator qui s'ouvre avec demande de où je veux enregistrer le fichier.

J'ai contourné le problème en mettant en amont l'instruction :

Code :
1
2
 
Shell CheminExecutablePDFCreator\PDFCreator.exe, vbMinimizedWindows
Ca marche mais j'ai l'icone PDFCreator qui est visible dans les icones près de l'heure et je ne suis pas satisfait. Donc si quelqu'un a une idée d'impression automatique je suis preneur
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 09h34   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Dans les options de PDF Creator, n'aurais-tu pas une option pour imprimer en prn au lieu de pdf.

voilà un code que j'ai donné dans un tuto et je n'ai pas rencontré de problème, il est très proche du tien.
http://heureuxoli.developpez.com/off...oc2pdf/#LIII-B
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 18h20   #9
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 140
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 140
Points : 43
Points : 43
Par défaut Re

C'est la première chose à lequelle j'ai pensé : la propriété :
Code :
cOption("AutosaveFormat")
Je l'ai mis d'abord à 0 puis voyant que ça ne fonctionne pas j'ai pensé que ça pouvait être dû à ma version de PDFCreator, j'ai donc essayé tous les numéro jusqu'à 10 et à chaque fois le résultat est le même.

J'ai même comparé avec notepad les fichiers de sorties générés et à chaque fois ils se ressemblaient (je ne garantis pas que c'était exactement les mêmes vu que je n'ai pas fait de diff).


J'en ai conclu que la propriété PrintFileName de la méthode de document.PrintOut était complètement indépendante de PDFCréator.

Puis comme j'ai essayé le logiciel à la main en imprimant format PDF après avoir lancé la macro, j'ai remarqué que le système essayait d'enregistrer un prn, j'en ai conclu que la fonction PrintOut crée des fichiers prn
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h16.


 
 
 
 
Partenaires

Hébergement Web