IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Script pour impression pdf a partir d'excel


Sujet :

VBScript

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Script pour impression pdf a partir d'excel
    Hello,

    J'essaie d'écrire un script VBS qui me permette d'imprimer un fichier excel, j'utilise pour cela l'imprimante pdf d'Adobe Acrobat. Mais au moment de l'impression, je dois donner un nom pour sauvegarder le pdf contrairement a une impression classique.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Xlapp 'Excel
     Dim wb 'le classeur
     Set XlApp = CreateObject("Excel.application")
     XlApp.Visible = True
     Set Wb = XlApp.Workbooks.Open("C:\tmp\MonClasseur.xls")
     Wb.Sheets(1).PrintOut ,,,,"CutFtp sur FPP1:"
     wb.close false 
     XlApp.quit 
     Set Wb = Nothing
     Set XlApp = Nothing
    Que dois-je rajouter pour lui donner le nom du fichier pdf générer ?

    Merci de votre aide.

  2. #2
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonsoir voilà avec divers essais se que j'ai trouvé.
    J'espère que ça va te convenir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ' VB Script Document
    option explicit
    Dim Xlapp 'Excel
     Dim wb 'le classeur
     Set XlApp = CreateObject("Excel.application")
     XlApp.Visible = True
     Set Wb = XlApp.Workbooks.Open("C:\tmp\MonClasseur.xls")
     Wb.Sheets(1).PrintOut ,,,,"Adobe PDF",True,,"c:\tmp\essai.pdf"
     wb.close false 
     XlApp.quit 
     Set Wb = Nothing
     Set XlApp = Nothing

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci de ta réponse.

    Alors le fichier pdf est créé mais il n'est pas lisible: quand j'essaie de l'ouvrir, j'obtiens l'erreur suivante :

    "Acrobat could not open <File Name> because it is either not a supported file type or because the file has been corrupted (for example, it was sent as an email attachment and wasn't correctly decoded)."

    J'utilise Adobe Acrobat 7.1.0

    Il s'avère que le fichier généré n'est pas un pdf mais un post script file. Comment puis-je convertir cela facilement en pdf, ou générer automatiquement mon pdf ?

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bon ben j'ai réussi.

    Il faut utliser distiller pour convertir le .ps en .pdf

    Voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    option explicit
    Dim Xlapp     'Excel
    Dim wb        'le classeur
     
     
     
    Set XlApp = CreateObject("Excel.application")
    XlApp.Visible = False
    Set Wb = XlApp.Workbooks.Open("C:\tmp\Publisher_Template_test.xls")
    Wb.Sheets(1).PrintOut ,,,,"Adobe PDF",True,,"c:\tmp\essai.ps"
    wb.close false 
     
    Dim dis         'distiller app
    Dim ps          'le fichier ps
    Set dis = CreateObject("PdfDistiller.PdfDistiller")
    dis.FileToPDF "c:\tmp\essai.ps", "c:\tmp\essai.pdf", ""
    XlApp.quit 
    Set Wb = Nothing
    Set XlApp = Nothing
     
    dim fso
    dim aFile
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set aFile = fso.GetFile(".\essai.log")
    aFile.Delete
    Set aFile = fso.GetFile(".\essai.ps")
    aFile.Delete
    Set aFile = Nothing
    Set fso = Nothing
    Merci de ton aide caponord38

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD14] Regrouper deux images pour impression PDF
    Par AUZUR dans le forum WinDev
    Réponses: 13
    Dernier message: 25/09/2009, 15h59
  2. [MySQL] [mysqli] Script pour transfert massif de données (fichier excel)
    Par floctc dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/04/2009, 15h26
  3. script pour générer un xml à partir bdd mysql
    Par majong dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 06/06/2008, 11h13
  4. Modifier propriété imprimante pour impression PDF
    Par seb.49 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/01/2008, 20h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo