Problèmes impression en pdf pilotée par Macro Excel d'un doc Word 2010 avec figures

Jodko

XLDnaute Nouveau
Bonjour,

Jusqu'à présent, j'ai pu grâce à la lecture des différents sujets traités ici résoudre tous mes problèmes avec mes macros, mais là, je tourne en rond et j'ai donc franchi le pas de m'inscrire pour vous exposer mes déboires.

Voici le problème.

J'ai environ 300 docs d'une dizaine de page à imprimer en pdf. J'ai donc fait une macro Excel pour enregistrer les dits fichier en pdf. A l'origine, le principe était le suivant : Ouvrir un fichier, sauvegarder en pdf, fermer le fichier, passer au suivant.

Pas de problème pour générer un fichier pdf, mais contre, la plupart des courbes n'apparaissaient pas (un carré blanc à la place).

J'ai donc tenté une autre approche, qui consiste à ouvrir le doc, scroller les pages une à une, en laissant 2s de pause entre les deux, puis sauvegarder en pdf, fermer le doc et recommence, voici le code :

Code:
Sub ouvrirDocWord_Impression()
'necesite d'activer la reference Microsoft Word xx.x Object Library (dans menu Outils/References)
 
Dim appWrd As Word.Application
Dim docWord As Word.Document
Dim Fichier As String
Dim NomFichier As String
Dim Dossier As String
Dim Intpos As Byte
Dim nbPages As Integer
Dim i As Integer
 
Dossier = ThisWorkbook.Path & "\"
ChDrive Dossier
ChDir Dossier
 
 
Fichier = Dir(Dossier & "*.docx")
 
Do While Len(Fichier) > 0
 
i = 1
 
    Set appWrd = CreateObject("Word.Application") 'creation session Word
    appWrd.Visible = True 'pour que word s'ouvre pendant l'operation
    Const wdExportFormatPDF = 17
    Const wdExportOptimizeForPrint = 0
    Const wdExportAllDocument = 0
    Const wdExportDocumentContent = 0
    Const wdExportCreateNoBookmarks = 0
 
    Intpos = InStrRev(Fichier, ".")
    NomFichier = Left(Fichier, Intpos - 1) & ".pdf"
 
    Set docWord = appWrd.Documents.Open(Dossier & Fichier)
    nbPages = appWrd.ActiveWindow.Panes(1).Pages.Count
 
    For i = 1 To nbPages
        appWrd.ActiveWindow.LargeScroll down:=1
        Application.Wait Time + TimeSerial(0, 0, 2)
        i = i + 1
    Next
 
    docWord.ExportAsFixedFormat outputFileName:=Dossier & "/" & NomFichier, exportFormat:=wdExportFormatPDF
 
    docWord.Close 'fermer le document Word
    appWrd.Quit 'fermer la session Word
 
 
    Fichier = Dir()
Loop
 
 
End Sub

C'est une concaténation de plusieurs infos que j'ai glanées sur le net.

Mon problème, c'est que malgré la temporisation que j'ai mise (2 ou 5 secondes entre chaque page), ça n'imprime toujours pas toutes les courbes, même s'il y en a beaucoup plus qui s'impriment.

Est ce que vous savez d'où vient le problème, et comment le résoudre ?

Merci.


Jodko.
 

Jodko

XLDnaute Nouveau
Re : Problèmes impression en pdf pilotée par Macro Excel d'un doc Word 2010 avec figu

Admettons que je veuille filtrer les fichiers grâce à Excel.


Bref. Est ce que qqu'un sait comment résoudre ce problème de non impression de certaines images ?


Merci.


Jodko.
 
Dernière édition:
Haut Bas