2008-10-20 12 views
2

Je cherche à automatiser la conversion d'une feuille Excel en un document pdf (je ne veux pas imprimer manuellement le rapport généré dans Excel comme document pdf tous les matins). Pour l'instant, je voudrais créer un bouton dans Excel qui exécutera la macro pour générer automatiquement le document pdf, mais ce bouton ne sera finalement pas utilisé.Création d'un nouveau document pdf en utilisant AcroEXch dans VBScript

Je suis également nouveau sur VB, mais j'ai lu sur le SDK AcroEXch. On dirait que je devrais utiliser AcroEXch.PDDoc.Create, mais ce n'est pas tout à fait correct (parce que je ne peux pas spécifier un fichier d'entrée à imprimer/créer comme un nouveau document pdf).

Des idées sur la façon dont je peux créer un nouveau fichier pdf? Merci d'avance.

Répondre

0

Avez-vous considéré CuteFTP ou PDFCreator, les deux sont gratuits. J'ai réussi à utiliser PDFCreator avec VBA et j'ai entendu dire que CuteFTP est bon.

1

Je pense avoir trouvé la réponse. Voici une solution suggérée par quelqu'un au travail (si quelqu'un le trouve utile, alors génial).

Il n'y a pas de méthode disponible dans la classe AcroEXch (ou un ensemble de méthodes que je connais) à convertir un fichier non-pdf dans un fichier pdf. Au lieu de cela, vous devez utiliser le pdf Distiller pour d'abord convertir le fichier en postscript et ensuite vous pouvez écrire en pdf, en utilisant la classe PDFDistiller. Voici un extrait du code:

'1. excel ouvert étant converti en pdf:.
xlReport.activate xlReport.range ("a1") sélectionner

PdfFilePath dim PdfFilePath = ""

PsFilePath dim PsFilePath = ""

' 2. fichier Excel d'impression à Postscript xlBook.activesheet.PrintOut,, 1, "Adobe PDF sur NE01:", TRUE,, PsFilePath

Dim oDistiller Set oDistiller = CreateObject ("PDFDistiller.PDFDistiller.1")

oDistiller.FileToPDF sPsFilePath, sPdfFilePath ""

'Fermer Excel - ne pas enregistrer. commenta CI-APRÈS 3 LIGNES DE DEBUG xlApp.displayalerts = false xlApp.Quit ensemble xlApp = rien

0

Je ne sais pas exactement ce que votre situation est et quels outils vous avez accès à, mais la lecture de votre description , on dirait que vous voulez simplement avoir un fichier Excel converti pour vous avec un clic.

Il serait utile que vous indiquiez si vous possédez Adobo Acrobat Professional, la dernière version d'Excel ou d'autres convertisseurs disponibles sur le marché. Si vous avez Acrobat Pro installé, vos applications de bureau (Word, Excel, Outlook, etc) devraient déjà avoir un bouton "Convertir en PDF" dans les barres d'outils, en combinaison avec Excel command line argument il ne devrait pas être trop difficile de cuisiner une tâche planifiée Windows qui convertit périodiquement les fichiers Excel pour vous.