Je souhaite automatiser la cr=E9ation de documents PDF via VBA. Aujourd'hui=
, l'utilisateur est oblig=E9 de renseigner manuellement le nom de fichier a=
insi que le chemin. Je pr=E9f=E8rerais utiliser la r=E9f=E9rence =E0 PDFCre=
ator, mais c'est l=E0 que =E7a se g=E2te !! Si quelqu'un a d=E9j=E0 utilis=
=E9 cette r=E9f=E9rence et pouvait m'aiguiller sur la syntaxe des m=E9thode=
s et propri=E9t=E9s, je lui vouerais une reconnaissance =E9tenelle..... au =
moins jusqu'=E0 l'ann=E9e prochaine :-))
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
| Aujourd'hui, l'utilisateur est obligé de renseigner manuellement | le nom de fichier ainsi que le chemin. Je préfèrerais utiliser la | référence à PDFCreator
| Aujourd'hui, l'utilisateur est obligé de renseigner manuellement
| le nom de fichier ainsi que le chemin. Je préfèrerais utiliser la
| référence à PDFCreator
| Aujourd'hui, l'utilisateur est obligé de renseigner manuellement | le nom de fichier ainsi que le chemin. Je préfèrerais utiliser la | référence à PDFCreator
J'ai peut-être été un peu succint dans mes explications..... J'utilis e le logiciel PDFCreator pour imprimer en pdf. Depuis Excel, je l'utilise v ia "Application.activePrinter=....". Mais ceci lance PDFCreator et oblige l'utilisateur à entrer manuellement le nom du fichier créé et à ch oisir manuellement le répertoire de sauvegarde dudit fichier pdf. En VBA, j'ai vu que dans Outils-> Compléments, il y a une référence à PDFCreator. Si je la coche, je dois pouvoir piloter l'application, comme on peut le fai re avec Word par exemple. Je pourrais donc lui passer des paramètres tels que nom de fichier, répertoire etc... MAIS je ne connais pas la syntaxe des diverses méthodes ou propriétés liées à cette référence. En fouinant sur le web, la seule chose que j'ai trouvé, c'est un code sou s Delphi, et évidemment la syntaxe détaillée est différente... Donc, si quelqu'un a déjà trouvé la manière d'utiliser cette réf érence, je serais très heureux de bénéficier de quelques conseils ! !
ThierryP
Bonjour Denis,
J'ai peut-être été un peu succint dans mes explications..... J'utilis e le logiciel PDFCreator pour imprimer en pdf. Depuis Excel, je l'utilise v ia "Application.activePrinter=....". Mais ceci lance PDFCreator et oblige l'utilisateur à entrer manuellement le nom du fichier créé et à ch oisir manuellement le répertoire de sauvegarde dudit fichier pdf.
En VBA, j'ai vu que dans Outils-> Compléments, il y a une référence à PDFCreator.
Si je la coche, je dois pouvoir piloter l'application, comme on peut le fai re avec Word par exemple. Je pourrais donc lui passer des paramètres tels que nom de fichier, répertoire etc...
MAIS je ne connais pas la syntaxe des diverses méthodes ou propriétés liées à cette référence.
En fouinant sur le web, la seule chose que j'ai trouvé, c'est un code sou s Delphi, et évidemment la syntaxe détaillée est différente...
Donc, si quelqu'un a déjà trouvé la manière d'utiliser cette réf érence, je serais très heureux de bénéficier de quelques conseils ! !
J'ai peut-être été un peu succint dans mes explications..... J'utilis e le logiciel PDFCreator pour imprimer en pdf. Depuis Excel, je l'utilise v ia "Application.activePrinter=....". Mais ceci lance PDFCreator et oblige l'utilisateur à entrer manuellement le nom du fichier créé et à ch oisir manuellement le répertoire de sauvegarde dudit fichier pdf. En VBA, j'ai vu que dans Outils-> Compléments, il y a une référence à PDFCreator. Si je la coche, je dois pouvoir piloter l'application, comme on peut le fai re avec Word par exemple. Je pourrais donc lui passer des paramètres tels que nom de fichier, répertoire etc... MAIS je ne connais pas la syntaxe des diverses méthodes ou propriétés liées à cette référence. En fouinant sur le web, la seule chose que j'ai trouvé, c'est un code sou s Delphi, et évidemment la syntaxe détaillée est différente... Donc, si quelqu'un a déjà trouvé la manière d'utiliser cette réf érence, je serais très heureux de bénéficier de quelques conseils ! !
ThierryP
ThierryP
Finalement, en posant les bonnes questions à M. Google, on finit par trou ver les bonnes réponses!!
Procédure trouvée sur un forum, elle-même adaptée d'une procédure trouvée sur un forum.... etc... etc.. !!
Si cela peut aider / intéresser quelqu'un !
Merci
Sub CONVERSION_EN_PDF()
Dim CREATION_PDF As PDFCreator.clsPDFCreator Dim Destination As String
With CREATION_PDF 'La condition ci-dessous empêche l'ouverture de la boite de dialogue de P DFCreator If .cStart("/NoProcessingAtStartup") = False Then MsgBox "Can't initialize PDFCreator.", vbCritical + _ vbOKOnly, "PrtPDFCreator" Exit Sub End If .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = Destination .cOption("AutosaveFilename") = NOM_PDF .cOption("AutosaveFormat") = 0 ' 0 = PDF .cClearCache End With 'Convertit le document en PDF ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator" 'Attend que le document soit entré dans la file de Création Do Until CREATION_PDF.cCountOfPrintjobs = 1 DoEvents Loop CREATION_PDF.cPrinterStop = False 'Attend que la Création du document PDF soit terminée Do Until CREATION_PDF.cCountOfPrintjobs = 0 DoEvents Loop CREATION_PDF.cClose Set CREATION_PDF = Nothing End Sub
Finalement, en posant les bonnes questions à M. Google, on finit par trou ver les bonnes réponses!!
Procédure trouvée sur un forum, elle-même adaptée d'une procédure trouvée sur un forum.... etc... etc.. !!
Si cela peut aider / intéresser quelqu'un !
Merci
Sub CONVERSION_EN_PDF()
Dim CREATION_PDF As PDFCreator.clsPDFCreator
Dim Destination As String
With CREATION_PDF
'La condition ci-dessous empêche l'ouverture de la boite de dialogue de P DFCreator
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = Destination
.cOption("AutosaveFilename") = NOM_PDF
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With
'Convertit le document en PDF
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
'Attend que le document soit entré dans la file de Création
Do Until CREATION_PDF.cCountOfPrintjobs = 1
DoEvents
Loop
CREATION_PDF.cPrinterStop = False
'Attend que la Création du document PDF soit terminée
Do Until CREATION_PDF.cCountOfPrintjobs = 0
DoEvents
Loop
CREATION_PDF.cClose
Set CREATION_PDF = Nothing
End Sub
With CREATION_PDF 'La condition ci-dessous empêche l'ouverture de la boite de dialogue de P DFCreator If .cStart("/NoProcessingAtStartup") = False Then MsgBox "Can't initialize PDFCreator.", vbCritical + _ vbOKOnly, "PrtPDFCreator" Exit Sub End If .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = Destination .cOption("AutosaveFilename") = NOM_PDF .cOption("AutosaveFormat") = 0 ' 0 = PDF .cClearCache End With 'Convertit le document en PDF ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator" 'Attend que le document soit entré dans la file de Création Do Until CREATION_PDF.cCountOfPrintjobs = 1 DoEvents Loop CREATION_PDF.cPrinterStop = False 'Attend que la Création du document PDF soit terminée Do Until CREATION_PDF.cCountOfPrintjobs = 0 DoEvents Loop CREATION_PDF.cClose Set CREATION_PDF = Nothing End Sub
MichD
Il y a aussi ceci :
Imprimer toutes les feuilles sélectionnées dans le même fichier PDF - PDFCreator
Si tu veux regrouper toutes les feuilles sélectionnées dans le même fichier PDF en utilisant l'utilitaire PDFCreator, essaie ceci. Copie tout ce qui suit dans un module standard et tu exécutes la procédure "Test".
Un petit coup de chapeau à "Orpheujfb" qui a testé cette procédure plutôt cette semaine.
'Perso, je n'ai pas testé, PDFCreator n'est pas installé sur mon ordi.
'----------------------------------- Sub test() Dim Tblo(), A As Integer, Nb As Integer With ActiveWindow.SelectedSheets Nb = .Count ReDim Tblo(1 To Nb) End With For Each sh In ActiveWindow.SelectedSheets A = A + 1 Tblo(A) = sh.Name Next Call ImprPDF(Tblo) End Sub '----------------------------------- Sub ImprPDF(MesFeuilles())
Dim PdfJob As Object ' déclaration de la tache qu'on va créer Dim SpdFname As String ' le nom du fichier Dim SpdFpath As String ' le nom du répertoire
'**************Variables à définir*************** 'Chemin où sera enregistré le document
' termine toute tache en cours si PDFCreator est encore en exécution LAPDF.Caption = "1) Initialisation de PDFCreator..." Application.Cursor = xlWait killtask ("PDFCreator.exe") 'Procédure écrite plus bas...
' obtention d'une instance pour la tâche d'impression Set PdfJob = CreateObject("PDFCreator.clsPDFCreator") Application.Cursor = xlDefault LAPDF.Caption = ""
With PdfJob If .cstart("/NoProcessingAtStartup") = False Then MsgBox "DESOLE... impossible d'initialiser PDF Creator..." & vbCr & _ "Veuillez voir le problème et relancer l'opération plus tard S.V.P..." Exit Sub End If .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = SpdFpath .cOption("AutosaveFilename") = SpdFname .cOption("AutosaveFormat") = 0 .ccombineall .cClearCache End With
' arrete la tache d'impression (pour éviter la création 'automatique du premier fichier) PdfJob.cPrinterStop = True
LAPDF.Caption = "2) Préparation des fichiers dans la file d'attente..." Application.Cursor = xlWait
Sheets(MesFeuilles).PrintOut Copies:=1, ActivePrinter:="PDFCreator" ' ou bien activeworkbook.printout, ou activesheet... comme vous voulez/ ' attend qu'il y ait tous les documents dans la file 'd'attente cCountOfPrintJobs est le nombre de fichiers dans la file d'attente ' La main retourne à EXCEL pendant le travail de PDF... il faut attendre Do Until PdfJob.ccountofprintjobs = NBJ LAPDF.Caption = PdfJob.ccountofprintjobs & "/" & NBJ & _ " fichiers dans la file d'attente..." DoEvents Loop
' commande le regroupement en une seule tache d'impression LAPDF.Caption = "3) Regroupement des fichiers dans la file d'attente..." Application.Cursor = xlWait PdfJob.ccombineall
' On attend qu'il n'y ait plus qu'un job.. même chose que plus haut.. 'cela prend du temps et excel doit patienter Do Until PdfJob.ccountofprintjobs = 1 DoEvents Loop Application.Cursor = xlDefault
' Plus qu'un seul fichier... on suppose que c'est bon ' libere la tache d'impression (lance la création du fichier) et attend sa fin LAPDF.Caption = "4) Création du fichier PDF final..." Application.Cursor = xlWait PdfJob.cPrinterStop = False Do Until PdfJob.ccountofprintjobs = 0 DoEvents Loop
LAPDF.Caption = "" Application.Cursor = xlDefault
' restauration de l'état With PdfJob .cDefaultprinter = defaultprinter .cClearCache Application.Wait (Now + TimeValue("0:00:03")) .cClose End With Set PdfJob = Nothing MsgBox "Le fichier PDF a été créé:' " & SFICPDF & "..." End Sub '----------------------------------- Sub killtask(sappname As String) ' /**** j'ai pris le code tel quel... pas de commentaire/ Dim oProclist As Object Dim oWMI As Object Dim oProc As Object Set oWMI = GetObject("winmgmts:") If IsNull(oWMI) = False Then Set oProclist = oWMI.InstancesOf("win32_process") For Each oProc In oProclist If UCase(oProc.Name) = UCase(sappname) Then oProc.Terminate (0) End If Next oProc Else MsgBox "Killing """ & sappname & _ """ - Can't create WMI Object.", _ vbOKOnly + vbCritical, "CloseAPP_B" End If Set oProclist = Nothing Set oWMI = Nothing End Sub '-------------------------------------------------
MichD -------------------------------------------------------------- "ThierryP" a écrit dans le message de groupe de discussion :
Bonjour Denis,
J'ai peut-être été un peu succint dans mes explications..... J'utilise le logiciel PDFCreator pour imprimer en pdf. Depuis Excel, je l'utilise via "Application.activePrinter=....". Mais ceci lance PDFCreator et oblige l'utilisateur à entrer manuellement le nom du fichier créé et à choisir manuellement le répertoire de sauvegarde dudit fichier pdf. En VBA, j'ai vu que dans Outils-> Compléments, il y a une référence à PDFCreator. Si je la coche, je dois pouvoir piloter l'application, comme on peut le faire avec Word par exemple. Je pourrais donc lui passer des paramètres tels que nom de fichier, répertoire etc... MAIS je ne connais pas la syntaxe des diverses méthodes ou propriétés liées à cette référence. En fouinant sur le web, la seule chose que j'ai trouvé, c'est un code sous Delphi, et évidemment la syntaxe détaillée est différente... Donc, si quelqu'un a déjà trouvé la manière d'utiliser cette référence, je serais très heureux de bénéficier de quelques conseils !!
ThierryP
Il y a aussi ceci :
Imprimer toutes les feuilles sélectionnées dans le même fichier PDF - PDFCreator
Si tu veux regrouper toutes les feuilles sélectionnées dans le même
fichier PDF en utilisant l'utilitaire PDFCreator,
essaie ceci. Copie tout ce qui suit dans un module standard et tu
exécutes la procédure "Test".
Un petit coup de chapeau à "Orpheujfb" qui a testé cette procédure
plutôt cette semaine.
'Perso, je n'ai pas testé, PDFCreator n'est pas installé sur mon ordi.
'-----------------------------------
Sub test()
Dim Tblo(), A As Integer, Nb As Integer
With ActiveWindow.SelectedSheets
Nb = .Count
ReDim Tblo(1 To Nb)
End With
For Each sh In ActiveWindow.SelectedSheets
A = A + 1
Tblo(A) = sh.Name
Next
Call ImprPDF(Tblo)
End Sub
'-----------------------------------
Sub ImprPDF(MesFeuilles())
Dim PdfJob As Object ' déclaration de la tache qu'on va créer
Dim SpdFname As String ' le nom du fichier
Dim SpdFpath As String ' le nom du répertoire
'**************Variables à définir***************
'Chemin où sera enregistré le document
' termine toute tache en cours si PDFCreator est encore en exécution
LAPDF.Caption = "1) Initialisation de PDFCreator..."
Application.Cursor = xlWait
killtask ("PDFCreator.exe") 'Procédure écrite plus bas...
' obtention d'une instance pour la tâche d'impression
Set PdfJob = CreateObject("PDFCreator.clsPDFCreator")
Application.Cursor = xlDefault
LAPDF.Caption = ""
With PdfJob
If .cstart("/NoProcessingAtStartup") = False Then
MsgBox "DESOLE... impossible d'initialiser PDF Creator..." & vbCr & _
"Veuillez voir le problème et relancer l'opération plus tard S.V.P..."
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = SpdFpath
.cOption("AutosaveFilename") = SpdFname
.cOption("AutosaveFormat") = 0
.ccombineall
.cClearCache
End With
' arrete la tache d'impression (pour éviter la création
'automatique du premier fichier)
PdfJob.cPrinterStop = True
LAPDF.Caption = "2) Préparation des fichiers dans la file d'attente..."
Application.Cursor = xlWait
Sheets(MesFeuilles).PrintOut Copies:=1, ActivePrinter:="PDFCreator"
' ou bien activeworkbook.printout, ou activesheet... comme vous voulez/
' attend qu'il y ait tous les documents dans la file
'd'attente cCountOfPrintJobs est le nombre de fichiers dans la file d'attente
' La main retourne à EXCEL pendant le travail de PDF... il faut attendre
Do Until PdfJob.ccountofprintjobs = NBJ
LAPDF.Caption = PdfJob.ccountofprintjobs & "/" & NBJ & _
" fichiers dans la file d'attente..."
DoEvents
Loop
' commande le regroupement en une seule tache d'impression
LAPDF.Caption = "3) Regroupement des fichiers dans la file d'attente..."
Application.Cursor = xlWait
PdfJob.ccombineall
' On attend qu'il n'y ait plus qu'un job.. même chose que plus haut..
'cela prend du temps et excel doit patienter
Do Until PdfJob.ccountofprintjobs = 1
DoEvents
Loop
Application.Cursor = xlDefault
' Plus qu'un seul fichier... on suppose que c'est bon
' libere la tache d'impression (lance la création du fichier) et attend sa fin
LAPDF.Caption = "4) Création du fichier PDF final..."
Application.Cursor = xlWait
PdfJob.cPrinterStop = False
Do Until PdfJob.ccountofprintjobs = 0
DoEvents
Loop
LAPDF.Caption = ""
Application.Cursor = xlDefault
' restauration de l'état
With PdfJob
.cDefaultprinter = defaultprinter
.cClearCache
Application.Wait (Now + TimeValue("0:00:03"))
.cClose
End With
Set PdfJob = Nothing
MsgBox "Le fichier PDF a été créé:' " & SFICPDF & "..."
End Sub
'-----------------------------------
Sub killtask(sappname As String)
' /**** j'ai pris le code tel quel... pas de commentaire/
Dim oProclist As Object
Dim oWMI As Object
Dim oProc As Object
Set oWMI = GetObject("winmgmts:")
If IsNull(oWMI) = False Then
Set oProclist = oWMI.InstancesOf("win32_process")
For Each oProc In oProclist
If UCase(oProc.Name) = UCase(sappname) Then
oProc.Terminate (0)
End If
Next oProc
Else
MsgBox "Killing """ & sappname & _
""" - Can't create WMI Object.", _
vbOKOnly + vbCritical, "CloseAPP_B"
End If
Set oProclist = Nothing
Set oWMI = Nothing
End Sub
'-------------------------------------------------
MichD
--------------------------------------------------------------
"ThierryP" a écrit dans le message de groupe de discussion :
7d2df257-f7b6-4b68-8a4c-966f45c762ec@googlegroups.com...
Bonjour Denis,
J'ai peut-être été un peu succint dans mes explications..... J'utilise le logiciel PDFCreator pour imprimer en
pdf. Depuis Excel, je l'utilise via "Application.activePrinter=....". Mais ceci lance PDFCreator et oblige
l'utilisateur à entrer manuellement le nom du fichier créé et à choisir manuellement le répertoire de
sauvegarde dudit fichier pdf.
En VBA, j'ai vu que dans Outils-> Compléments, il y a une référence à PDFCreator.
Si je la coche, je dois pouvoir piloter l'application, comme on peut le faire avec Word par exemple. Je
pourrais donc lui passer des paramètres tels que nom de fichier, répertoire etc...
MAIS je ne connais pas la syntaxe des diverses méthodes ou propriétés liées à cette référence.
En fouinant sur le web, la seule chose que j'ai trouvé, c'est un code sous Delphi, et évidemment la syntaxe
détaillée est différente...
Donc, si quelqu'un a déjà trouvé la manière d'utiliser cette référence, je serais très heureux de bénéficier
de quelques conseils !!
Imprimer toutes les feuilles sélectionnées dans le même fichier PDF - PDFCreator
Si tu veux regrouper toutes les feuilles sélectionnées dans le même fichier PDF en utilisant l'utilitaire PDFCreator, essaie ceci. Copie tout ce qui suit dans un module standard et tu exécutes la procédure "Test".
Un petit coup de chapeau à "Orpheujfb" qui a testé cette procédure plutôt cette semaine.
'Perso, je n'ai pas testé, PDFCreator n'est pas installé sur mon ordi.
'----------------------------------- Sub test() Dim Tblo(), A As Integer, Nb As Integer With ActiveWindow.SelectedSheets Nb = .Count ReDim Tblo(1 To Nb) End With For Each sh In ActiveWindow.SelectedSheets A = A + 1 Tblo(A) = sh.Name Next Call ImprPDF(Tblo) End Sub '----------------------------------- Sub ImprPDF(MesFeuilles())
Dim PdfJob As Object ' déclaration de la tache qu'on va créer Dim SpdFname As String ' le nom du fichier Dim SpdFpath As String ' le nom du répertoire
'**************Variables à définir*************** 'Chemin où sera enregistré le document
' termine toute tache en cours si PDFCreator est encore en exécution LAPDF.Caption = "1) Initialisation de PDFCreator..." Application.Cursor = xlWait killtask ("PDFCreator.exe") 'Procédure écrite plus bas...
' obtention d'une instance pour la tâche d'impression Set PdfJob = CreateObject("PDFCreator.clsPDFCreator") Application.Cursor = xlDefault LAPDF.Caption = ""
With PdfJob If .cstart("/NoProcessingAtStartup") = False Then MsgBox "DESOLE... impossible d'initialiser PDF Creator..." & vbCr & _ "Veuillez voir le problème et relancer l'opération plus tard S.V.P..." Exit Sub End If .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = SpdFpath .cOption("AutosaveFilename") = SpdFname .cOption("AutosaveFormat") = 0 .ccombineall .cClearCache End With
' arrete la tache d'impression (pour éviter la création 'automatique du premier fichier) PdfJob.cPrinterStop = True
LAPDF.Caption = "2) Préparation des fichiers dans la file d'attente..." Application.Cursor = xlWait
Sheets(MesFeuilles).PrintOut Copies:=1, ActivePrinter:="PDFCreator" ' ou bien activeworkbook.printout, ou activesheet... comme vous voulez/ ' attend qu'il y ait tous les documents dans la file 'd'attente cCountOfPrintJobs est le nombre de fichiers dans la file d'attente ' La main retourne à EXCEL pendant le travail de PDF... il faut attendre Do Until PdfJob.ccountofprintjobs = NBJ LAPDF.Caption = PdfJob.ccountofprintjobs & "/" & NBJ & _ " fichiers dans la file d'attente..." DoEvents Loop
' commande le regroupement en une seule tache d'impression LAPDF.Caption = "3) Regroupement des fichiers dans la file d'attente..." Application.Cursor = xlWait PdfJob.ccombineall
' On attend qu'il n'y ait plus qu'un job.. même chose que plus haut.. 'cela prend du temps et excel doit patienter Do Until PdfJob.ccountofprintjobs = 1 DoEvents Loop Application.Cursor = xlDefault
' Plus qu'un seul fichier... on suppose que c'est bon ' libere la tache d'impression (lance la création du fichier) et attend sa fin LAPDF.Caption = "4) Création du fichier PDF final..." Application.Cursor = xlWait PdfJob.cPrinterStop = False Do Until PdfJob.ccountofprintjobs = 0 DoEvents Loop
LAPDF.Caption = "" Application.Cursor = xlDefault
' restauration de l'état With PdfJob .cDefaultprinter = defaultprinter .cClearCache Application.Wait (Now + TimeValue("0:00:03")) .cClose End With Set PdfJob = Nothing MsgBox "Le fichier PDF a été créé:' " & SFICPDF & "..." End Sub '----------------------------------- Sub killtask(sappname As String) ' /**** j'ai pris le code tel quel... pas de commentaire/ Dim oProclist As Object Dim oWMI As Object Dim oProc As Object Set oWMI = GetObject("winmgmts:") If IsNull(oWMI) = False Then Set oProclist = oWMI.InstancesOf("win32_process") For Each oProc In oProclist If UCase(oProc.Name) = UCase(sappname) Then oProc.Terminate (0) End If Next oProc Else MsgBox "Killing """ & sappname & _ """ - Can't create WMI Object.", _ vbOKOnly + vbCritical, "CloseAPP_B" End If Set oProclist = Nothing Set oWMI = Nothing End Sub '-------------------------------------------------
MichD -------------------------------------------------------------- "ThierryP" a écrit dans le message de groupe de discussion :
Bonjour Denis,
J'ai peut-être été un peu succint dans mes explications..... J'utilise le logiciel PDFCreator pour imprimer en pdf. Depuis Excel, je l'utilise via "Application.activePrinter=....". Mais ceci lance PDFCreator et oblige l'utilisateur à entrer manuellement le nom du fichier créé et à choisir manuellement le répertoire de sauvegarde dudit fichier pdf. En VBA, j'ai vu que dans Outils-> Compléments, il y a une référence à PDFCreator. Si je la coche, je dois pouvoir piloter l'application, comme on peut le faire avec Word par exemple. Je pourrais donc lui passer des paramètres tels que nom de fichier, répertoire etc... MAIS je ne connais pas la syntaxe des diverses méthodes ou propriétés liées à cette référence. En fouinant sur le web, la seule chose que j'ai trouvé, c'est un code sous Delphi, et évidemment la syntaxe détaillée est différente... Donc, si quelqu'un a déjà trouvé la manière d'utiliser cette référence, je serais très heureux de bénéficier de quelques conseils !!
ThierryP
ThierryP
Merci Denis pour l'info !
Je vais regarder ça de plus près, c'est intéressant !
@+
ThierryP
Merci Denis pour l'info !
Je vais regarder ça de plus près, c'est intéressant !