impresssion excel vers adobe acrobat

M

mike

Guest
j'ai la même question que cet Auteur : Johann Date: 20-11-02 15:54

"Voilà ma question :

Je voudrais faire une macro (pour automatiser la tâche d'impression) qui permet d’imprimer 1 document Excel en format pdf.
J’ai adobe acrobat, une imprimante "acrobat writer" de définie, mais je ne parviens pas à indiquer automatiquement le nom du fichier à imprimer (« à enregister sous » si l’on veut), et je ne parviens pas à définir automatiquement le chemin du répertoire où je dois imprimer ce document (sachant que le répertoire évolue à chaque impression).

Je peux facilement définir les variables « nom du fichier » et « chemin du répertoire".

Merci de bien vouloir m’aider à solutionner ce problème."

J'ai vu que thierry pouvait me faire parvenir le code de cette xla ; j'ai essayé la manip qu'il a proposé mais n'y suis pas arrivé.

merci de m'aider, c'est urgent...
 
@

@+Thierry

Guest
Salut Mike,

Tu vois le monde est petit, le 24 janvier tu avais besoin d'un code d'urgence et aujourd'hui c'est au bureau que j'ai besoin de ce code.

Je ne suis pas allé trafiquer les codes de la XLA, car je n'avais pas le temps et vu comment c'est fait, j'ai eu peur !! (lol)

Par contre j'avais à imprimer en masse tout un répertoire "d'une tonne" de fichiers XLS en PDF cet après midi. (et évidemment ce devait être fait pour hier !!)

Donc j'ai fait ceci :

Sub OpenFileToCreatePDF()
Dim F As Variant
With Application.FileSearch
.NewSearch
.LookIn = "P:\Companies"
.Execute
On Error Resume Next
For Each F In .FoundFiles
Workbooks.Open F
ACROBATPRINT
Next F
End With
End Sub

Sub ACROBATPRINT()
Dim Nom As String
Dim C As Byte
Dim CC As Byte
C = Len(ActiveWorkbook.Name)
CC = C - 4
Nom = Left(ActiveWorkbook.Name, CC)
Application.SendKeys Keys:="P:\Companies\Acrobat\" & Nom + "~"
Sheets("Form").PrintOut ActivePrinter:="Acrobat PDFWriter on LPT1:"
ActiveWorkbook.Close False
End Sub


J'ai donc en fait utiliser la méthode send Key, qui marche très bien dans cette boucle.

Donc Mike tu peux t'en inspirer... A noter que moi j'avais besoin de récupérer pour le fichier *.pdf le nom tel que le fichier était nommé en *.xls (le C = Len et le CC = C - 4, c'est un système "D" pour ne récupérer que le nom sans le ".xls"....

Voilà, normalement (Adobe Acrobat 5.0 ici) il n'y a pas besoin d'ajouter & ".pdf"...

Bon Travail
@+Thierry
 
J

Johann

Guest
Les 2 références :

1) www.excel-downloads.com/html/French/forum/read.php?f=1&i=8235&t=8222>
2) www.excel-downloads.com/html/French/forum/messages/1_15499_15499.htm

Quand je vous lis ou vous écoute j’ai l’impression d’être à 20 milieux sous les mers tellement mon niveau est faible….
Pourtant je bricole pas mal de macros sur Excel d’officeXp Pro 2002 et Adobe acrobat 4 mais je suis de vous !

Alors si quelqu’1 pouvais m’aider à solutionner mon problème de façon plus didactique éviterai peut-être la noyade…

Voici ma macro telle qu’elle est :
Sub Imp_adobe()
Sheets("Controle").Select
Application.DisplayAlerts = False

' DateMois = Cells(3, 1)
' Année = Mid(DateMois, 7, 2)
' Année = 2000 + Année
' Mois = Mid(DateMois, 4, 2)
' DateMois = Mois & "_" & Année
' Chemin_Pdf = Cells(5, 3).Value: ' chemin du répertoire pour le fichier PDF

Sheets(Array("00", "01", "02", "03", "04", "05")).Select
Application.ActivePrinter = "Acrobat PDFWriter sur LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur LPT1:", PrintToFile:=True
End Sub

Malheureusement le nom du fichier et le chemin d’impression ne servent jamais.

Au secours !!!!!!!!!!!!!!!!!!!!!!

MERCI.
 
T

Ti

Guest
Johann, inutile de doubler tes messages sur ce forum d'un message perso en BAL, je passe régulièrement par ici et je lis à peu près tout. D'autre part je ne réponds pratiquement jamais aux messages qui me sont envoyés directement. Je m'étais promis de regarder ce truc, mais j'ai pas mal d'autres choses à faire en ce moment, donc patience et si j'ai du nouveau un jour, je le déposerai sur le forum.
 
@

@+Thierry

Guest
Bonsoir,

Johann, idem remarque que Ti ....... inutile de doubler ton post dans ma BAL

Le bricolage ci dessus avec "SendKey" ne fonctionne pas pour ton cas ? (pour la petite histoire Mike m'a remercié directement en Bal et il semble "Ultra" satisfait...)

Juste pour un traitement d'urgence... en attendant une solution plus complète que Ti va nous trouver (je viens de faire plusieurs centaines de PDF avec "SendKey"... ça dépanne!)

Attention code non testé car sur le PC d'où je suis en ce moment je n'ai pas Acrobat... Mais essaie toujours.... dans ton cas le code devrait s'approcher de çà...

Sub Imp_adobe()
Chemin_Pdf = Cells(5, 3).Value: '(ton chemin COMPLET, avec nom du fichier)

Application.SendKeys Keys= Chemin_Pdf & ".pdf" + "~"
Sheets(Array("00", "01", "02", "03", "04", "05")).PrintOut ActivePrinter:="Acrobat PDFWriter on LPT1:"
End Sub


bonne nuit
@+Thierry
 

Discussions similaires

J
Réponses
4
Affichages
2 K
@+Thierry
@

Statistiques des forums

Discussions
314 646
Messages
2 111 528
Membres
111 190
dernier inscrit
clmtj