× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Utiliser une imprimante virtuelle en imposant le nom du fichier de sortie
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Pegase7845
  Posté le 25/02/2019 @ 23:13 
Aller en bas de la page 
Petit astucien

Bonsoir à tous,

Pour des besoins spécifiques, je souhaite, via une macro, transformer un fichier Excel en PDF. Pour cela j'utilise une imprimante virtuelle "Foxit Reader" car je ne veux pas enregistrer directement en PDF pour des problèmes de taille de fichier résultant. Voir cette discussion ICI

J'ai donc écrit une macro en VBA qui me permet de lancer cette imprimante. La boucle "For " n'est là que pour trouver le bon port Ne0x, celui-ci variant d'un PC à un autre. Mais ce n'est pas l'objet.

Sub ImpPDF_Foxit()

imprimante = Application.ActivePrinter ' Mémorise l'actuelle imprimante par défaut
For J = 0 To 9
Nom = "Foxit Reader PDF Printer sur Ne0" & J & ":"
On Error Resume Next
Application.ActivePrinter = Nom
If ActivePrinter = Nom Then Exit For
Next
Application.ActivePrinter = Nom ' Impose l'imprimante virtuelle FoxitReader comme imprimante par défaut
ActiveWindow.SelectedSheets.PrintOut ' Ouvre une fenêtre qui permet d'enregistrer le fichier PDF
Application.ActivePrinter = imprimante ' Remet l'imprimante par défaut à sa valeur initiale

End Sub

Au lancement de l’imprimante virtuelle une fenêtre s'ouvre, je souhaite que cette fenêtre ne s'ouvre pas mais que le fichier soit enregistré directement via un chenin connu et imposer le nom du fichier PDF que je vais créer.

Je n'y arrive pas, je n'arrive pas à compléter/modifier la commande ActiveWindow.SelectedSheets.PrintOut pour imposer le chemin et le nom du fichier

D'avance merci pour votre aide

Pégase

Publicité
prosper34
 Posté le 27/02/2019 à 10:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Foxit Reader est un lecteur/gestionnaire d'impression de document PDF (http://www.foxitreader.fr/

Foxit Reader gère mais ne crée pas un document PDF donc pour faire selon ton désir il faut chercher autre chose.

Pegase7845
 Posté le 27/02/2019 à 13:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci prosper de t'intéresser à mon problème.

Mais

Foxit Reader gère mais ne crée pas un document PDF donc pour faire selon ton désir il faut chercher autre chose.

bien sûr que si, Foxit Reader étant une imprimante virtuelle, comme PDF Creator ou d'autres, elle crée un PDF à partir du fichier Excel. Je l'utilise régulièrement.

En faite actuellement la macro ci-dessus ouvre un répertoire R et me propose d'enregistrer mon fichier dans ce répertoire, sauf que R n'est pas le répertoire dans lequel se trouve mon fichier Excel (c'est là que je veux l'enregistrer) mais le dernier répertoire dans le quel j'ai créé/enregistré un PDF. Or ce que je veux éviter c'est d'avoir à re désigner le bon répertoire en passant par toute l'arborescence et en tapant le nom du fichier qui sera de la forme "Mon fichier _ date du jour.pdf"

J'ai bien une solution palliative : établir, via la macro, le chemin complet du futur fichier du style par exemple "D:\XXX\YYY\monfichier_2019-02-25.pdf", l'enregistrer automatiquement dans le presse-papier et de faire un Ctrl+V pour le coller dans la fenêtre qui s'ouvre avec FoxitReader (tout cela je sais faire) mais je voudrais que ce soit coller automatiquement, pour que les utilisateurs (autres que moi-même) ne se posent pas de question.

Merci pour de futurs propositions.

Bonne journée pleine de soleil



Modifié par Pegase7845 le 27/02/2019 13:46
fgondard
 Posté le 02/03/2019 à 15:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour,

Je tombe par hasard sur cette question. Je me trompe peut-être mais il me semble que ce que tu souhaites faire est mission impossible.

La boîte de dialogue permettant d'indiquer le fichier de destination est créée et gérée par Foxit Reader. Pour communiquer avec lui depuis Excel il faudrait connaître ses objets et leurs proprietés ainsi que la manière d'y accéder.

La seule possibilité que j'entrevois est le passage du nom complet du fichier en paramètre dans le nom de l'imprimante. Pas sûr du tout que ça fonctionne. Et même si par miracle c'était le cas ceci n'empêcherait pas l'ouverture de la boite de dlialogue.

Pegase7845
 Posté le 02/03/2019 à 17:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Effectivement fgondard, je crois effectivement que c'est mission impossible, ceci dit que la boite de dialogue s'ouvre n'est pas un problème j'aurai juste voulu qu'elle s'ouvre dans un répertoire désigné par moi (via la macro par exemple) et non dans le dernier répertoire utilisé.

Merci

triode94
 Posté le 02/03/2019 à 17:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Bonsoir.

Office 2016 permet de convertir facilement les fichiers Excel ou Word en PDF.

Quelle est ta version d'Office ? (Office 2007 ne le permettait pas).

fgondard
 Posté le 02/03/2019 à 18:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

j'aurai juste voulu qu'elle s'ouvre dans un répertoire désigné par moi (via la macro par exemple) et non dans le dernier répertoire utilisé.

Utilisé par Foxit Reader. C'est tout à fait normal et c'est pareil pour beaucoup de logiciels.

Tu peux toujours faire le test que je t'ai suggéré mais c'est pratiquement sûr que le nom d'imprimante sera invalide.

Mais triode a raison, si ta version d'Excel possède la fonction en natif, le problème est résolu.



Modifié par fgondard le 02/03/2019 18:18
Pegase7845
 Posté le 02/03/2019 à 18:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Triode

Office 2016 permet de convertir facilement les fichiers Excel ou Word en PDF.

Oui je sais, j'utilise Office 2013, mais le problème c'est que la conversion Excel > PDF génère des fichiers PDF beaucoup plus volumineux (rapport voisin de 1/10). Voir une discussion que je cite dans mon 1er message ICI. Or je souhaite que ces fichiers soient le plus petit possible. Ils sont destinés à un site.

fgondard

La seule possibilité que j'entrevois est le passage du nom complet du fichier en paramètre dans le nom de l'imprimante

Désolé mais je ne sais pas comment faire, c'est justement ce que je cherche

Merci à vous deux pour vos contributions

triode94
 Posté le 02/03/2019 à 19:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Il existe des logiciels qui permettent de comprimer les PDF.

Publicité
fgondard
 Posté le 02/03/2019 à 19:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Il me semble que ton script est mal gaulé. Quand tu sors de la boucle tu as déjà sélectionné ton imprimante Foxit. Pas la peine de le refaire derrière. Et tu n'as prévu le cas où elle n'aurait pas été trouvée.

Ceci dit, en y regardant de plus près, je ne vois pas comment passer le nom du fichier en paramètre. Ça ne pourrait être que sur le printout. Cette méthode accepte bien le paramètre printfileout mais ça n'a rien à voir avec ton cas.

Néanmoins tu as peut-être une solution. En effectuant une recherche rapide sur la toile j'ai vu qu'on pouvait exécuter Foxit Reader en ligne de commande et lui passer des paramètres. S'il est possible de lui faire créer ainsi le fichier pdf à partir de ton document et même éventuellement de l'enregistrer, il suffit de lancer via une commande shell.



Modifié par fgondard le 02/03/2019 19:44
fgondard
 Posté le 02/03/2019 à 22:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Quand on lance Foxit Reader dans une fenêtre console avec le commutateur /help on a la liste des paramètres acceptés. Le résultat est bien maigre.

Dans mes recherches j'ai trouvé un script vbs pour travailler en lige de commande avec PDF Creator et là ça semble possible. C'est un peu dommage de remettre ce logiciel ou un équivalent alors que Foxit Reader permet de s'en dispenser mais si c'est la solution ...

Dans la gamme Foxit on peut utiliser Convert2pdf mais c'est un produit commercial.

fgondard
 Posté le 03/03/2019 à 14:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Je n'ai pas bien compris ton principe de recherche de l'imprimante Foxit. Chez moi le nom est tout simplement Foxit Reader PDF Printer.

Si le nom est suceptible de varier le début est toujours le même. Il suffit donc de récupérer la liste de simprimantes installées et de faire une recherche sur le début du nom.

Pour la création de la liste des imprimantes il faut passer par wmi. Un exemple ici.

Logiquement pas besoin de jongler avec l'imprimante par défaut. Dans printout il suffit de mettre le paramètre activeprinter = nom imprimante.

Pegase7845
 Posté le 06/03/2019 à 00:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir à tous,

Je me suis absenté quelques jours je reprends...

triode94

Il existe des logiciels qui permettent de comprimer les PDF.

Oui je sais mais cela fait un log et une manipe de plus et comme je ne suis pas toujours l'opérateur, cela pose problème à certaine personne.
D'autant que ce n'est pas toujours efficace. Réimprimer un pdf avec Foxit Reader permet également d'alléger le fichier résultant.

Mais ce n'est pas l'ojet de cette discussion

fgondard

Il me semble que ton script est mal gaulé.
...
Chez moi le nom est tout simplement Foxit Reader PDF Printer.

Tu as raison, mais à un moment j'ai eu des problèmes, je ne sais plus dans quelles circonstances j'ai ajouter le port pour que ça fonctionne, mais bien sur en changeant de PC le port n'était plus le même. En refaisant un essai sans le n° de port ça fonctionne

Pour le mal gaulé je suis aussi d'accord une erreur d’inattention. Ok aussi pour le pas besoin de jongler avec l'imprimante par défaut

Mais tout cela ne résout pas mon problème de départ à savoir : Utiliser une imprimante virtuelle en imposant le nom du fichier de sortie

Merci à tous de votre intérêt pour ma question

fgondard
 Posté le 06/03/2019 à 12:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Utiliser une imprimante virtuelle en imposant le nom du fichier de sortie

Comme je l'ai déjà dit il faut pour cela le dire au logiciel qui gère la pseudo imprimante. Avec Foxit reader ce n'est pas possible, ce n'est pas prévu dans les paramètres qu'on peut lui passer. Par contre ça semble possible avec Pdf Creator.

Si c'est bien le cas, au lieu de tenter d'imprimer directement sur la pseudo imprimante tu lances Pdf Creator en lui passant en paramètre le nom du fichier à convertir et celui du fichier à obtenir.

Je n'ai pas le temps de tester tout ça pour l'instant, il faut que je joue au grand père, mais j'essaierai la semaine prochaine.

Pegase7845
 Posté le 06/03/2019 à 14:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Oui tout à fait d'accord ce n'est pas possible avec Foxit Reader.

Dès que j'ai 5 mn (je suis un peu pris en ce moment) je regarde avec PDF Creator, d'autant que certains futurs utilisateurs ont déjà ce log sur leur PC.

Juste une question, pour passer les paramètres à PDF Creator, cela se fait en ligne de commande ? Je vais chercher.

Merci à toi et amuse toi bien

fgondard
 Posté le 06/03/2019 à 14:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

pour passer les paramètres à PDF Creator, cela se fait en ligne de commande ?

Oui. Donc lancer PDF Creator avec une commande shell et les paramètres qui vont bien.

J'ai vu aussi qu'avec ce produit quelques exemples de scripts sont fournis dont un pour convertir un document qcq en pdf.



Modifié par fgondard le 06/03/2019 17:30
2you
 Posté le 13/03/2019 à 21:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bonjour Pegase,

voici comment je m'en suis sorti, c'est un peu tordu mais ça fonctionne

Worksheets("facture").PageSetup.BlackAndWhite = False 'parametrage en couleur
Application.ActivePrinter = Worksheets("compo").cb_pdf.Value
goodname = ActiveWorkbook.Name
chemin = ActiveWorkbook.Path & "\"
tmpname = Worksheets("facture").Cells(2, 5)
ActiveWorkbook.SaveAs chemin & tmpname
ActiveWorkbook.Sheets("FACTURE").PrintOut
tmpname = ActiveWorkbook.Name
Kill chemin & goodname
ActiveWorkbook.SaveAs chemin & goodname
Kill chemin & tmpname

Publicité
fgondard
 Posté le 14/03/2019 à 10:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

J'ai installé PdfCreator pour voir. Ils fournissent des exemples de scripts VBA utilisant leurs objets dont l'une pour lancer la conversion à partir de Word. Je l'ai testé et ça marche. Le fichier pdf est créé à partir du nom de fichier indiqué dans le script.

J'ai trouvé cette page. C'est peut-être plus de ça (save as pdf) qu'il faut s'inspirer.



Modifié par fgondard le 14/03/2019 12:49
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
489,99 €Disque dur externe Western Digital My Book Duo 24 To USB 3.1 à 489,99 €
Valable jusqu'au 28 Septembre

Amazon propose actuellement le disque dur externe Western Digital My Book 24 To USB 3.1 à 489,99 € livré gratuitement. On le trouve ailleurs à partir de 700 €. Le My Book Duo est une solution de stockage RAID de bureau d’une très grande capacité, idéale pour stocker des photos, des vidéos, des documents et de la musique. Vous pourrez l'utiliser en mode RAID 0 pour des perfomances ultrarapides (vitesse de lecture séquentielle pouvant atteindre 360 Mo/s) ou bien en mode RAID 1 pour bénéficier d’une redondance et mettre vos données en miroir sur les disques durs installés dans le boîtier. Ce dernier comporte en effet 2 disques durs Western Digital RED de 12 To adaptés aux NAS et qui peuvent être récupérés pour être utilisés ailleurs. Sachant qu'un disque dur RED 12 To coûte au moins 400 €, l'achat du Western Digital My Book Duo 24 To peut aussi être une solution économique si vous avez besoin de 2 disques durs 12 To pour votre NAS.


> Voir l'offre
179,99 €Joystick Logitech G Saitek X52 Pro Flight Control System + Microsoft Flight Simulator à 179,99 €
Valable jusqu'au 23 Septembre

Cdiscount fait une promotion sur un lot comprenant le tout nouveau Microsoft Flight Simulator sur PC accompagné du joystick Logitech G Saitek X52 Pro Flight Control System qui passe à 179,99 € au lieu de 250 €. Ce système H.O.T.A.S. (3M) X52 Pro Pro Flight de Saitek est un contrôleur de vol main sur manche et manette entièrement intégré qui satisfait, voire dépasse, les demandes des pilotes sur simulateur de vol les plus aguerris.


> Voir l'offre
26,99 €Carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus 128 Go (jusqu'à 170 Mo/s) à 26,99 €
Valable jusqu'au 24 Septembre

Amazon fait une superbe promotion sur la carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus d'une capacité de 128 Go qui passe à 26,99 € alors qu'on trouve la carte ailleurs à partir de 45 €. Cette carte mémoire offre des vitesses jusqu'à 170 Mo/s en lecture et 90 Mo/s en écriture et intègre des mécanismes afin de gérer l'usure des cellules de la carte et augmenter ainsi sa durée de vie. Une valeur sûre pour les plus exigeants. Elle résiste aux températures extrêmes, à l'eau, aux chocs et aux rayons X. La carte est fournie avec le logiciel de récupération de données RescuePRO Deluxe qui facilite la récupération des fichiers qui ont été effacés accidentellement. 


> Voir l'offre

Sujets relatifs
absence d'imprimante virtuelle
imprimante virtuelle PDF créator
imprimante virtuelle pour PDF
Mon imprimante virtuelle a disparue
utiliser l'imprimante comme machine à écrire
imprimante virtuelle PDF
Fichier image (*.img): Quel logiciel utiliser?
fichier cave à vin
Impossible de renommer un fichier
ppt en pdf sous windows 10 pb imprimante
Plus de sujets relatifs à Utiliser une imprimante virtuelle en imposant le nom du fichier de sortie
 > Tous les forums > Forum Bureautique