OVH Cloud OVH Cloud

Compresser image par vba

4 réponses
Avatar
Eddie
Bonjour,

Je souhaite pouvoir compresser toutes les images d'un diapo pour
visualisation sur écran et ce, à partir du vba.

Merci d'avance pour vos réponses
Eddie

4 réponses

Avatar
Tisane
Bonjour Eddie,

Je souhaite pouvoir compresser toutes les images d'un diapo pour
visualisation sur écran et ce, à partir du vba.


Cette commande n'étant pas accessible directement, je n'ai pas trouvé
d'instruction correspondante.
On peut contourner avec :
Sub Compression()
CommandBars("Picture").FindControl(Id:c82).Execute
SendKeys "w"
SendKeys "{enter}"
End Sub

--
Tisane

Avatar
Eddie

Bonjour Eddie,

Je souhaite pouvoir compresser toutes les images d'un diapo pour
visualisation sur écran et ce, à partir du vba.


Cette commande n'étant pas accessible directement, je n'ai pas trouvé
d'instruction correspondante.
On peut contourner avec :
Sub Compression()
CommandBars("Picture").FindControl(Id:c82).Execute
SendKeys "w"
SendKeys "{enter}"
End Sub

--
Tisane



Merci pour ta réponse Tisane mais la commande SendKeys ne fonctionne pas.

La fenêtre de compression reste ouverte en attente d'une réponse de
l'utilisateur et mon programme ne continue pas à se dérouler et donc
n'exécute pas la commande SendKey


Avatar
Tisane
Merci pour ta réponse Tisane mais la commande SendKeys ne fonctionne pas.
La fenêtre de compression reste ouverte en attente d'une réponse de
l'utilisateur et mon programme ne continue pas à se dérouler et donc
n'exécute pas la commande SendKey


Chez moi cela fonctionne.
La lettre "w" permet de sélectionner la résolution pour l'écran/web.
En fait il suffit d'indiquer la lettre soulignée dans la boîte de dialogue.
As-tu essayé la macro telle quelle ?

--
Tisane


Je souhaite pouvoir compresser toutes les images d'un diapo pour
visualisation sur écran et ce, à partir du vba.


Cette commande n'étant pas accessible directement, je n'ai pas trouvé
d'instruction correspondante.
On peut contourner avec :
Sub Compression()
CommandBars("Picture").FindControl(Id:c82).Execute
SendKeys "w"
SendKeys "{enter}"
End Sub

--
Tisane








Avatar
Eddie
Maintenant cela fonctionne.
Je pense que cela était du au fait que la fenêtre n'était pas active et que
le SendKey n'était pas envoyé à la bonne fenêtre. En fait je lance cette
procédure à partir d'un programme extérieur à Powerpoint
Voiçi ma procédure:

Sub Compression(PP As Application)
PP.Activate
PP.CommandBars("Picture").FindControl(id:c82).Execute
SendKeys "W"
SendKeys "{enter}"
SendKeys "{enter}"
End Sub

Cela fonctionne bien. Merci Tisane


Merci pour ta réponse Tisane mais la commande SendKeys ne fonctionne pas.
La fenêtre de compression reste ouverte en attente d'une réponse de
l'utilisateur et mon programme ne continue pas à se dérouler et donc
n'exécute pas la commande SendKey


Chez moi cela fonctionne.
La lettre "w" permet de sélectionner la résolution pour l'écran/web.
En fait il suffit d'indiquer la lettre soulignée dans la boîte de dialogue.
As-tu essayé la macro telle quelle ?

--
Tisane


Je souhaite pouvoir compresser toutes les images d'un diapo pour
visualisation sur écran et ce, à partir du vba.


Cette commande n'étant pas accessible directement, je n'ai pas trouvé
d'instruction correspondante.
On peut contourner avec :
Sub Compression()
CommandBars("Picture").FindControl(Id:c82).Execute
SendKeys "w"
SendKeys "{enter}"
End Sub

--
Tisane