Document xls vers pdf

  • Initiateur de la discussion emirj
  • Date de début
E

emirj

Guest
Bonjour tout le monde,

J'utilise actuellement Excel pour mettre à jour des graphiques
dans Word. Les graphiques sont dans un fichier xls et une macro
ouvre et referme simplement le document Word (code ci-dessous).
J'utilise la liaison précoce -marrant ce nom-.

J'aimerais maintenant automatiser le passage de ces fichiers Word
vers des documents .PDF. J'ai activé les bibliotèques Adobe suivantes :
AdobePDFMakerX, AcrobatPDFMaker et Acrobat. Et là je suis un peu
bloqué.

Est-ce que quelqu'un a déjà fait ça ?
Merci d'avance


Set wdApp = New Word.Application
With wdApp
.DisplayAlerts = wdAlertsNone
.Documents.Open Filename:=fichier_word, ConfirmConversions:=True, _
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto
.ActiveDocument.Save
.ActiveDocument.Close
.Quit
End With
Set wdApp = Nothing
 
@

@+Thierry

Guest
Bonjour Julien, le Forum

Sans avoir fait aucun test sur un Objet Word, mais ce qui me dépanne souvent sous Excel, c'est un peu du bricolage de haute voltige avec un sendkey, je crois même que Laurent Longre avait même traité ça de "cochon" !

Const ThePath As String = "I:\MC_PROD\Pdf-Report\Daily\"

Dim TheName as String
TheName = "Toto"

With .ActiveDocument
.Save
Application.SendKeys Keys:=ThePath & TheName + "~"
.PrintOut ActivePrinter:="Acrobat PDFWriter on LPT1:"
.Close
End with

Donc à tester et à voir si çà peut te dépanner car je n'ai pas encore réussi à travailler directement sur les codes des XLA d'Adobe (PDFMaker)

Bon fin d'aprèm
@+Thierry
 
E

emirj

Guest
cher forum,
cher thierry,
merci pour ton aide...

Il y a une méthode complète qui décrit l'automatisation de l'impression de document xls vers pdf dans :
http://groups.google.com/groups?oi=djq&selm=an_652844427

C'est déjà de l'acrobatie, étant donné que le truc consiste à aller
modifier le fichier ini windows pour l'impression dans un fichier.

Au lieu de cela, j'ai opté pour le sendkeys, convaincu, mais pas
tout à fait :

'active l'application excel au lieu du VB
AppActivate Excel.Application

'envoie la commande clavier Alt+b suivi de Enter
'raccourci clavier pour lancer Acrobat... convertir en pdf...
Application.SendKeys "%(b)~", True
Application.SendKeys nom_stat, True
Application.SendKeys "~", True

Le problème : écris nom_stat dans la macro, pas dans la boîte
de dialogue pdf !

Merci encore pour vos conseils !
C'est du luxe ce forum !
A+, emirj
 
@

@+Thierry

Guest
Salut Julien, le Forum

Heuh oui mais attention, je n'envoie pas trois SendKeys mais un seul dans l'exemple que je t'ai donné.

De plus, je ne fais pas un run depuis VB mais depuis un bouton sur la Feuille Excel... Donc pas besoin AppActivate ... De plus j'utilse donc le PDF Writer en substitut d'imprimante...

Moi, ici, un truc comme ceci me crée des PDF à la chaine et c'est sans souci, à condition que je ne touche plus au PC pendant la procédure

Sub CreatePDF ()
Const ThePath As String = "I:\MC_PROD\Pdf-Report\Daily\"
Dim TheName as String
TheName = "Toto"

Application.SendKeys Keys:=ThePath & TheName + "~"
Sheets("TaFeuille").PrintOut ActivePrinter:="Acrobat PDFWriter on LPT1:"

End Sub

Donc je ne sais pas ce qui t'arrive, il est certain que si çà plante, ça rique d'écrire dans le module directement...

Bon Courage
@+Thierry
 
L

lpp

Guest
salut thierry,

j'essaye aussi de convertir une feuille d'un classeur en document PDF, mon code est le suivant, reprit du tient:

Private Sub CommandButton3_Click()
Const ThePath As String = "U:\"
Dim TheName As String
TheName = "test"

'Application.SendKeys Keys:=ThePath & TheName + "~"

Sheets("Synthèse TOP 5").PrintOut ActivePrinter:="Adobe PDF on Ne00:"
End Sub

Mais ça marche pas du tout:
Soit c'est juste la fenetre du choix de repertoire qui s'ouvre, soit si le chemin est plus long (du style "u:\rep 1\rep 2\rep 3\rep 4\"), alors une fenetre s'ouvre et m'indique que le nom "3\rep 4\test" n'est pas valide!

que faire? j'ai absolument besoin de créer cette routine!

(j'utilise excel 2000 et Adobe Acrobat 6 standard)
 

Statistiques des forums

Discussions
312 361
Messages
2 087 632
Membres
103 616
dernier inscrit
Simone98