OVH Cloud OVH Cloud

pdf avec adobe distiller

5 réponses
Avatar
Christian
Bonjour,

je cherche à adapter pour VB une procédure écrite en VBA et je me heurte au
Pb. Suivant pour la création du pdf.

Lors de la création de fichier PS, j'ai le message d'erreure suivant a cette
ligne

ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat Distiller", _
L'objet ne gere pas cette propriété ou cette methode !

Je crois qu'il y a un problème avec "ActiveWorkbook"

comment faire ?


merci de votre aide

Christian



Dim Excel As New Excel.Application

Sub pdf(Fichier)


Excel.Visible = True


'impression de la feuille alarme
Workbooks.Open ("c:\alarme.xls")
Call PrintToFile("alarme.xls" & ".prn", 1)

Workbooks("alarme.xls").Close (True)


End Sub


Sub PrintToFile(filename, pagename)

ChDrive "C"
ChDir "C:\Mes Documents\PS\"

SendKeys filename & "{enter}"
ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat Distiller", _
'Err : l'objet ne gère pas cette propriété 'ou cette méthode.
PrintToFile:=True


End Sub

5 réponses

Avatar
Clément Marcotte
Bonjour,

Je crois qu'il y a un problème avec "ActiveWorkbook"


Effectivement, ActiveWorkbook, fait partie du modèle d'objets d'Excel
et est absent du modèle d'objets de VB.

comment faire ?


Cela dépend de ce que tu cherches à faire.

Si tu veux que ton programme VB imprime quelque chose uniquement dans
VB, sans utiliser Excel, la méthode PrintOut de VB ne peut être
utilisée, si mes souvenirs sont exacts, que pour la feuille en cours.
Programmer des impressions dans VB n'a jamais été de tout repos.

Si tu veux utiliser VB pour imprimer à partir d'un classeur Excel, tu
dois piloter Excel par automation.

Sub imprimeavecExcel()
set xlapp = createobject("excel.application")
xlapp.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

etc.

End sub

Si tu veux imprimer de VB dans un programme VB, tu auras peut-être
plus de chance avec le forum

microsoft.public.fr.vb




"Christian" a écrit dans le message de
news:%230Cni$y%
Bonjour,

je cherche à adapter pour VB une procédure écrite en VBA et je me
heurte au

Pb. Suivant pour la création du pdf.

Lors de la création de fichier PS, j'ai le message d'erreure suivant
a cette

ligne

ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

L'objet ne gere pas cette propriété ou cette methode !




merci de votre aide

Christian



Dim Excel As New Excel.Application

Sub pdf(Fichier)


Excel.Visible = True


'impression de la feuille alarme
Workbooks.Open ("c:alarme.xls")
Call PrintToFile("alarme.xls" & ".prn", 1)

Workbooks("alarme.xls").Close (True)


End Sub


Sub PrintToFile(filename, pagename)

ChDrive "C"
ChDir "C:Mes DocumentsPS"

SendKeys filename & "{enter}"
ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

'Err : l'objet ne gère pas cette propriété 'ou cette méthode.
PrintToFile:=True


End Sub





Avatar
Christian
Bonsoir Clément,

en début de module j'ai l'instruction :
dim Excel as new Excel.Application

je peut donc écrire cela :
Excel.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat Distiller",
_

Ca ne fonctionne toujours pas. J'ai le même message d'erreur.




"Clément Marcotte" a écrit dans le message
de news:%23Fap%23fz%
Bonjour,

Je crois qu'il y a un problème avec "ActiveWorkbook"


Effectivement, ActiveWorkbook, fait partie du modèle d'objets d'Excel
et est absent du modèle d'objets de VB.

comment faire ?


Cela dépend de ce que tu cherches à faire.

Si tu veux que ton programme VB imprime quelque chose uniquement dans
VB, sans utiliser Excel, la méthode PrintOut de VB ne peut être
utilisée, si mes souvenirs sont exacts, que pour la feuille en cours.
Programmer des impressions dans VB n'a jamais été de tout repos.

Si tu veux utiliser VB pour imprimer à partir d'un classeur Excel, tu
dois piloter Excel par automation.

Sub imprimeavecExcel()
set xlapp = createobject("excel.application")
xlapp.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

etc.

End sub

Si tu veux imprimer de VB dans un programme VB, tu auras peut-être
plus de chance avec le forum

microsoft.public.fr.vb




"Christian" a écrit dans le message de
news:%230Cni$y%
Bonjour,

je cherche à adapter pour VB une procédure écrite en VBA et je me
heurte au

Pb. Suivant pour la création du pdf.

Lors de la création de fichier PS, j'ai le message d'erreure suivant
a cette

ligne

ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

L'objet ne gere pas cette propriété ou cette methode !




merci de votre aide

Christian



Dim Excel As New Excel.Application

Sub pdf(Fichier)


Excel.Visible = True


'impression de la feuille alarme
Workbooks.Open ("c:alarme.xls")
Call PrintToFile("alarme.xls" & ".prn", 1)

Workbooks("alarme.xls").Close (True)


End Sub


Sub PrintToFile(filename, pagename)

ChDrive "C"
ChDir "C:Mes DocumentsPS"

SendKeys filename & "{enter}"
ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

'Err : l'objet ne gère pas cette propriété 'ou cette méthode.
PrintToFile:=True


End Sub








Avatar
Alain CROS
Bonjour.

Ecrire la ligne comme ça.

ActiveWorkbook.Worksheets(pagename).PrintOut ActivePrinter:="Acrobat Distiller"

Alain CROS

"Christian" a écrit dans le message de news: #osIc1z#
Bonsoir Clément,

en début de module j'ai l'instruction :
dim Excel as new Excel.Application

je peut donc écrire cela :
Excel.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat Distiller",
_

Ca ne fonctionne toujours pas. J'ai le même message d'erreur.



Avatar
Clément Marcotte
Bonjour,

Cette affaire là marche dans VB6 chez moi avec mon imprimante. J'ai
bien un fichier prn dans Mes Documents, mais je n'ai pas Adobe
Distiller pour tester.

Sub imprimeavecExcel()

Dim Excel As New Excel.Application

Excel.Visible = True


'impression de la feuille alarme
'Excel.Workbooks.Open ("c:alarme.xls")
Excel.Workbooks.Open ("C:Mes DocumentsCashFlow.xls")

' Call PrintToFile("alarme.xls" & ".prn", 1)
'
' Excel.Workbooks("alarme.xls").Close (True)
Call PrintToFile("cashflow.prn", 1, 1)
Excel.Quit
Set Excel = Nothing
End Sub


Sub PrintToFile(filename, pagename, pagefin)
Set xlapp = GetObject(, "excel.application")
'ChDrive "C"
'ChDir "C:Mes Documents"

'SendKeys filename & "{enter}"
limprimante = ActivePrinter
xlapp.ActiveWorkbook.PrintOut From:=pagename, to:=pagefin, _
ActivePrinter:=limprimante, PrintToFile:=True, _
prtofilename:="c:mes documentscashflow.prn"
Set xlapp = Nothing
End Sub


"Christian" a écrit dans le message de
news:%23osIc1z%
Bonsoir Clément,

en début de module j'ai l'instruction :
dim Excel as new Excel.Application

je peut donc écrire cela :
Excel.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller",

_

Ca ne fonctionne toujours pas. J'ai le même message d'erreur.




"Clément Marcotte" a écrit dans le
message

de news:%23Fap%23fz%
Bonjour,

Je crois qu'il y a un problème avec "ActiveWorkbook"


Effectivement, ActiveWorkbook, fait partie du modèle d'objets
d'Excel


et est absent du modèle d'objets de VB.

comment faire ?


Cela dépend de ce que tu cherches à faire.

Si tu veux que ton programme VB imprime quelque chose uniquement
dans


VB, sans utiliser Excel, la méthode PrintOut de VB ne peut être
utilisée, si mes souvenirs sont exacts, que pour la feuille en
cours.


Programmer des impressions dans VB n'a jamais été de tout repos.

Si tu veux utiliser VB pour imprimer à partir d'un classeur Excel,
tu


dois piloter Excel par automation.

Sub imprimeavecExcel()
set xlapp = createobject("excel.application")
xlapp.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

etc.

End sub

Si tu veux imprimer de VB dans un programme VB, tu auras peut-être
plus de chance avec le forum

microsoft.public.fr.vb




"Christian" a écrit dans le message de
news:%230Cni$y%
Bonjour,

je cherche à adapter pour VB une procédure écrite en VBA et je
me



heurte au
Pb. Suivant pour la création du pdf.

Lors de la création de fichier PS, j'ai le message d'erreure
suivant



a cette
ligne

ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

L'objet ne gere pas cette propriété ou cette methode !




merci de votre aide

Christian



Dim Excel As New Excel.Application

Sub pdf(Fichier)


Excel.Visible = True


'impression de la feuille alarme
Workbooks.Open ("c:alarme.xls")
Call PrintToFile("alarme.xls" & ".prn", 1)

Workbooks("alarme.xls").Close (True)


End Sub


Sub PrintToFile(filename, pagename)

ChDrive "C"
ChDir "C:Mes DocumentsPS"

SendKeys filename & "{enter}"
ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

'Err : l'objet ne gère pas cette propriété 'ou cette méthode.
PrintToFile:=True


End Sub












Avatar
Christian
Merci bcp pour votre aide précieuse. Ca fonctionne. Je vais pouvoir avancer
dans le projet.
"Clément Marcotte" a écrit dans le message
de news:ulh%23$W1%
Bonjour,

Cette affaire là marche dans VB6 chez moi avec mon imprimante. J'ai
bien un fichier prn dans Mes Documents, mais je n'ai pas Adobe
Distiller pour tester.

Sub imprimeavecExcel()

Dim Excel As New Excel.Application

Excel.Visible = True


'impression de la feuille alarme
'Excel.Workbooks.Open ("c:alarme.xls")
Excel.Workbooks.Open ("C:Mes DocumentsCashFlow.xls")

' Call PrintToFile("alarme.xls" & ".prn", 1)
'
' Excel.Workbooks("alarme.xls").Close (True)
Call PrintToFile("cashflow.prn", 1, 1)
Excel.Quit
Set Excel = Nothing
End Sub


Sub PrintToFile(filename, pagename, pagefin)
Set xlapp = GetObject(, "excel.application")
'ChDrive "C"
'ChDir "C:Mes Documents"

'SendKeys filename & "{enter}"
limprimante = ActivePrinter
xlapp.ActiveWorkbook.PrintOut From:=pagename, to:=pagefin, _
ActivePrinter:=limprimante, PrintToFile:=True, _
prtofilename:="c:mes documentscashflow.prn"
Set xlapp = Nothing
End Sub


"Christian" a écrit dans le message de
news:%23osIc1z%
Bonsoir Clément,

en début de module j'ai l'instruction :
dim Excel as new Excel.Application

je peut donc écrire cela :
Excel.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller",

_

Ca ne fonctionne toujours pas. J'ai le même message d'erreur.




"Clément Marcotte" a écrit dans le
message

de news:%23Fap%23fz%
Bonjour,

Je crois qu'il y a un problème avec "ActiveWorkbook"


Effectivement, ActiveWorkbook, fait partie du modèle d'objets
d'Excel


et est absent du modèle d'objets de VB.

comment faire ?


Cela dépend de ce que tu cherches à faire.

Si tu veux que ton programme VB imprime quelque chose uniquement
dans


VB, sans utiliser Excel, la méthode PrintOut de VB ne peut être
utilisée, si mes souvenirs sont exacts, que pour la feuille en
cours.


Programmer des impressions dans VB n'a jamais été de tout repos.

Si tu veux utiliser VB pour imprimer à partir d'un classeur Excel,
tu


dois piloter Excel par automation.

Sub imprimeavecExcel()
set xlapp = createobject("excel.application")
xlapp.ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

etc.

End sub

Si tu veux imprimer de VB dans un programme VB, tu auras peut-être
plus de chance avec le forum

microsoft.public.fr.vb




"Christian" a écrit dans le message de
news:%230Cni$y%
Bonjour,

je cherche à adapter pour VB une procédure écrite en VBA et je
me



heurte au
Pb. Suivant pour la création du pdf.

Lors de la création de fichier PS, j'ai le message d'erreure
suivant



a cette
ligne

ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

L'objet ne gere pas cette propriété ou cette methode !




merci de votre aide

Christian



Dim Excel As New Excel.Application

Sub pdf(Fichier)


Excel.Visible = True


'impression de la feuille alarme
Workbooks.Open ("c:alarme.xls")
Call PrintToFile("alarme.xls" & ".prn", 1)

Workbooks("alarme.xls").Close (True)


End Sub


Sub PrintToFile(filename, pagename)

ChDrive "C"
ChDir "C:Mes DocumentsPS"

SendKeys filename & "{enter}"
ActiveWorkbook(pagename).PrintOut ActivePrinter:="Acrobat
Distiller", _

'Err : l'objet ne gère pas cette propriété 'ou cette méthode.
PrintToFile:=True


End Sub