Macro impression powerpoint 2007
mimosa49
-
Solly -
Solly -
Bonjour,
Je viens d'enregistrer une macro powerpoint qui a pour but d'imprimer la page en cours quand je suis en diaporama. malheureusement, elle m'imprime systématiquement la dernière page imprimée.
Je vous joins ci dessous la macro :
Private Sub CommandButton1_Click()
With ActivePresentation.PrintOptions
.RangeType = ppPrintCurrent
.NumberOfCopies = 1
.Collate = msoTrue
.OutputType = ppPrintOutputSlides
.PrintHiddenSlides = msoTrue
.PrintColorType = ppPrintColor
.FitToPage = msoFalse
.FrameSlides = msoFalse
.HandoutOrder = ppPrintHandoutHorizontalFirst
sCurPrinter = .ActivePrinter
End With
ActivePresentation.PrintOut
End Sub
Merci d'ance à tous
Je viens d'enregistrer une macro powerpoint qui a pour but d'imprimer la page en cours quand je suis en diaporama. malheureusement, elle m'imprime systématiquement la dernière page imprimée.
Je vous joins ci dessous la macro :
Private Sub CommandButton1_Click()
With ActivePresentation.PrintOptions
.RangeType = ppPrintCurrent
.NumberOfCopies = 1
.Collate = msoTrue
.OutputType = ppPrintOutputSlides
.PrintHiddenSlides = msoTrue
.PrintColorType = ppPrintColor
.FitToPage = msoFalse
.FrameSlides = msoFalse
.HandoutOrder = ppPrintHandoutHorizontalFirst
sCurPrinter = .ActivePrinter
End With
ActivePresentation.PrintOut
End Sub
Merci d'ance à tous
A voir également:
- Macro impression powerpoint 2007
- Spouleur d'impression - Guide
- Powerpoint viewer - Télécharger - Présentation
- Save as pdf office 2007 - Télécharger - Bureautique
- Impression livret a5 - Guide
- Insérer une vidéo dans powerpoint - Guide
3 réponses
Bonjour,
Private Sub CommandButton1_Click()
With ActivePresentation.PrintOptions
.RangeType = ppPrintSlideRange
With .Ranges
.ClearAll
'mettre x=position du slide (1 a ... n)
.Add Start:=x, End:=x
End With
.NumberOfCopies = 1
.Collate = msoTrue
.OutputType = ppPrintOutputSlides
.PrintHiddenSlides = msoTrue
.PrintColorType = ppPrintColor
.FitToPage = msoFalse
.FrameSlides = msoFalse
.HandoutOrder = ppPrintHandoutHorizontalFirst
sCurPrinter = .ActivePrinter
End With
ActivePresentation.PrintOut
End Sub
Essayez si cela vous intéresse
Bonne continuation
Private Sub CommandButton1_Click()
With ActivePresentation.PrintOptions
.RangeType = ppPrintSlideRange
With .Ranges
.ClearAll
'mettre x=position du slide (1 a ... n)
.Add Start:=x, End:=x
End With
.NumberOfCopies = 1
.Collate = msoTrue
.OutputType = ppPrintOutputSlides
.PrintHiddenSlides = msoTrue
.PrintColorType = ppPrintColor
.FitToPage = msoFalse
.FrameSlides = msoFalse
.HandoutOrder = ppPrintHandoutHorizontalFirst
sCurPrinter = .ActivePrinter
End With
ActivePresentation.PrintOut
End Sub
Essayez si cela vous intéresse
Bonne continuation
Merci pour cette première réponse, mais je souhaitais mettre une macro dans le masque d'impression qui détecte automatiquement la page sur laquelle je suis.
avec cette macro je vais être obligé de mettre un bouton sur chaque diapo en indiquant le numéro de la page que je souhaite indiqué.
Y aurait il possibilité d'avoir une macro qui intègre automatiquement la page sur laquelle le diaporama est positionné et l'imprimer.
Merci d'avance pour vos prochaines réponses.
avec cette macro je vais être obligé de mettre un bouton sur chaque diapo en indiquant le numéro de la page que je souhaite indiqué.
Y aurait il possibilité d'avoir une macro qui intègre automatiquement la page sur laquelle le diaporama est positionné et l'imprimer.
Merci d'avance pour vos prochaines réponses.
Bonjour,
Le code qui suis vous permet de récupérer le numéro du Slide à l'écran et d'imprimer ce Slide
Pour initialiser il faut un bouton ou un événement via les macros complémentaires. Voir ci-dessous
Comment lancer une macro à l'ouverture d'un diaporama ?
[haut]
auteur : Philippe JOCHMANS
Contrairement aux autres applications Office comme Word ou Excel, il n'est pas possible de lancer une macro à l'ouverture d'un fichier PowerPoint.
Pour cela vous devez utiliser une macro-complémentaire avec une routine qui se nomme : Auto_Open(). Cette routine se déclenchera à l'ouverture de PowerPoint (dans la mesure où le complément a bien été chargé).
Pour imprimer il faut un bouton ou un événement (a vous de voir).
'Bouton pour initialisation
'-------------------------------
Private Sub CommandButtonX_Click()
InitializeApp
End Sub
'Code a mettre dans un module
'---------------------------------------
Public Numero_Slide As Integer
Dim X As New EventClassModule
Sub InitializeApp()
Set X.App = Application
End Sub
'impression Slide a l'ecran
'--------------------------------
Sub Impression()
With ActivePresentation.PrintOptions
.RangeType = ppPrintSlideRange
With .Ranges
.ClearAll
.Add Start:= Numero_Slide , End:= Numero_Slide
End With
.NumberOfCopies = 1
.Collate = msoTrue
.OutputType = ppPrintOutputSlides
.PrintHiddenSlides = msoTrue
.PrintColorType = ppPrintColor
.FitToPage = msoFalse
.FrameSlides = msoFalse
.HandoutOrder = ppPrintHandoutHorizontalFirst
sCurPrinter = .ActivePrinter
End With
ActivePresentation.PrintOut
End Sub
Bonne continuation
Le code qui suis vous permet de récupérer le numéro du Slide à l'écran et d'imprimer ce Slide
Pour initialiser il faut un bouton ou un événement via les macros complémentaires. Voir ci-dessous
Comment lancer une macro à l'ouverture d'un diaporama ?
[haut]
auteur : Philippe JOCHMANS
Contrairement aux autres applications Office comme Word ou Excel, il n'est pas possible de lancer une macro à l'ouverture d'un fichier PowerPoint.
Pour cela vous devez utiliser une macro-complémentaire avec une routine qui se nomme : Auto_Open(). Cette routine se déclenchera à l'ouverture de PowerPoint (dans la mesure où le complément a bien été chargé).
Pour imprimer il faut un bouton ou un événement (a vous de voir).
'Bouton pour initialisation
'-------------------------------
Private Sub CommandButtonX_Click()
InitializeApp
End Sub
'Code a mettre dans un module
'---------------------------------------
Public Numero_Slide As Integer
Dim X As New EventClassModule
Sub InitializeApp()
Set X.App = Application
End Sub
'impression Slide a l'ecran
'--------------------------------
Sub Impression()
With ActivePresentation.PrintOptions
.RangeType = ppPrintSlideRange
With .Ranges
.ClearAll
.Add Start:= Numero_Slide , End:= Numero_Slide
End With
.NumberOfCopies = 1
.Collate = msoTrue
.OutputType = ppPrintOutputSlides
.PrintHiddenSlides = msoTrue
.PrintColorType = ppPrintColor
.FitToPage = msoFalse
.FrameSlides = msoFalse
.HandoutOrder = ppPrintHandoutHorizontalFirst
sCurPrinter = .ActivePrinter
End With
ActivePresentation.PrintOut
End Sub
Bonne continuation
Bonjour,
Je me permets de rebondir sur ce sujet car je cherche depuis plusieurs heures (promis, surtout en tant que débutante, j'ai fouiné partout avant d'écrire ici) à faire une macro pour créer un bouton impression sur un PPS (afin de le sécuriser).
J'ai donc créer un bouton avec AutoOpen pour que la macro se lance en visionneuse. Après de multiples essais, j'ai respecté la procédure indiquée juste au-dessus. Sauf que je rencontre un petit problème : je voudrais que l'impression se fasse sur la diapositive en cours et là, ça ne marche pas.
En modifiant l'étape
.Add Start:= Numero_Slide , End:= Numero_Slide
si je fais
.Add Start:= 2 , End:= 2, la diapositive 2 s'imprime.
Sauf que j'ai beaucoup de diapositives et je ne trouve pas la solution. Je ne sais même pas créer différentes macros (une macro sur chaque slide) et pour ça non plus je n'ai aps trouvé comment faire. J'ai lu les tuto et autres, je n'ai pas la réponse...
Je suis tombée sur une autre possibilité mais qui marche encore moins. Voici le code au cas où ça vous donne des idées :
Sub PrintCurrentSlide()
Dim lSldNum As Long
lSldNum = SlideShowWindows(1).View.Slide.SlideNumber
With ActivePresentation.PrintOptions
.RangeType = ppPrintSlideRange
.Ranges.ClearAll
Ranges.Add lSldNum, lSldNum
End With
Là, même le PrintCurrentSlide n'est pas reconnu.
Je travaille sur une version 2007 amis que je dois enregistrer en mode de compatibilité 2003 (j'ai le double affichage : 2003 et 2007 en ce qui concerne les menus).
Si vous pouviez m'aider, ce serait fabuleux parce que j'avoue que là, je ne sais plus trop où chercher...
Merci d'avance pour votre aide.
Solly06
Je me permets de rebondir sur ce sujet car je cherche depuis plusieurs heures (promis, surtout en tant que débutante, j'ai fouiné partout avant d'écrire ici) à faire une macro pour créer un bouton impression sur un PPS (afin de le sécuriser).
J'ai donc créer un bouton avec AutoOpen pour que la macro se lance en visionneuse. Après de multiples essais, j'ai respecté la procédure indiquée juste au-dessus. Sauf que je rencontre un petit problème : je voudrais que l'impression se fasse sur la diapositive en cours et là, ça ne marche pas.
En modifiant l'étape
.Add Start:= Numero_Slide , End:= Numero_Slide
si je fais
.Add Start:= 2 , End:= 2, la diapositive 2 s'imprime.
Sauf que j'ai beaucoup de diapositives et je ne trouve pas la solution. Je ne sais même pas créer différentes macros (une macro sur chaque slide) et pour ça non plus je n'ai aps trouvé comment faire. J'ai lu les tuto et autres, je n'ai pas la réponse...
Je suis tombée sur une autre possibilité mais qui marche encore moins. Voici le code au cas où ça vous donne des idées :
Sub PrintCurrentSlide()
Dim lSldNum As Long
lSldNum = SlideShowWindows(1).View.Slide.SlideNumber
With ActivePresentation.PrintOptions
.RangeType = ppPrintSlideRange
.Ranges.ClearAll
Ranges.Add lSldNum, lSldNum
End With
Là, même le PrintCurrentSlide n'est pas reconnu.
Je travaille sur une version 2007 amis que je dois enregistrer en mode de compatibilité 2003 (j'ai le double affichage : 2003 et 2007 en ce qui concerne les menus).
Si vous pouviez m'aider, ce serait fabuleux parce que j'avoue que là, je ne sais plus trop où chercher...
Merci d'avance pour votre aide.
Solly06