CONVERTIR UNE PRESENTATION POWERPOINT EN SERIE d'IMAGES JPG,GIF,PNG,BMP,WMF
# 0000000596
ajouté le 02/06/2008 13:15:31 et modifié le 02/06/2008
consulté 8595 fois
Niveau
initié
Version(s) Foxpro : VFP 6.0
Description
Ce PRG convertit une présentation PowerPoint en une série d'images JPG ou {BMP,GIF,PNG,WMF}.
Les résultats de la conversion sont rassemblés dans un répertoire c:\yppt.Vous pouvez étendre
cette conversion aux formats RTF,Web....Powerpoint doit être obligatoirement présent sur la machine.
Je n'ai pas trouvé les constantes pour le format TIFF (sous Powerpoint2000 objet de ce test) ,mais
GpImage peut aisément faire le travail.
Vous auriez pu manuellement ouvrir une présentation et enregisterr sous...vers tous les formats.
Toutes les constantes Office se trouvent dans l'explorateur d'objets de l'aide Visual basic associée à Powerpoint
(ouvrir un fichier PPT et faire ALT+F11 pour l'afficher).
Une petite chose entre d'autres ,qui simplifie la vie au développeur !
Code source :
#define cr chr(13)
mess="Ce programme convertit une présentation PowerPoint en une série d'images JPG ou {BMP,GIF,PNG,WMF}."+cr+; "Les résultats de la conversion sont rassemblés dans un répertoire c:\yppt.Vous pouvez étendre "+cr+; "cette conversion aux formats RTF,Web.Powerpoint doit être obligatoirement présent sur la machine."
messagebox(mess,0+32,'Aide sommaire') closeall
clea all
***************************
oo=3 && Au choix à initialiser ici *PPT...1 *PPS...2 *JPG...3 *BMP...4 *GIF...5 *PNG...6 *WMF...7 ***************************
afile=getfile('ppt|pps') ifempty(afile) return
endi
yrep0='"'+sys(5)+sys(2003)+'"' ********************************** set safe off ifdirectory("c:\yppt") &&répertoire des conversions
dele file c:\yppt\*.* else mkdir c:\yppt
endi set safe on ********************************** &&constantes tirées de l'explorateur d'objet VB associé à Powerpoint.
#define ppSaveasJPG 17
#define ppsaveasBMP 19
#define ppsaveasGIF 16
#define ppsaveasPNG 18
#define ppsaveasRTF 6
#DEFINE ppSaveAsShow 7
#DEFINE ppSaveAsMetafile 15
#DEFINE ppSaveAsDefault 11
#DEFINE ppSaveAsTemplate 5
#DEFINE ppSaveAsPresentation 1
#define ppsaveasHTML 12 *sauvegarde TIF n'existe pas sur powerpoint2000 testé ici..on peut utiliser GpImage pour régler cela. *Vous pouvez utiliser les autres types de conversion à l'extérieur de c eprogramme. ********************* * Open PowerPoint
oPowerPoint = CreateObject("PowerPoint.Application")
oPowerPoint.Visible = .T.&& OBLIGATOIRE sinon erreur
oPowerpoint.windowstate=2 && minimise
oPresentation =oPowerPoint.Presentations.open(afile) &&ouvrir la présentation PPT ou PPS
&&nbre de diapositives
ndiapo=allt(str(opResentation.slides.count))+" diapositives" *******************************************************************************************
ax="" docase case oo=1
oPresentation.saveas("c:\yppt\yppt_",ppSaveasPresentation) && PPT
ax="(Présentation PPT)" case oo=2
oPresentation.saveas("c:\yppt\yppt_",ppSaveasShow) && pps
ax="Présentation PPS"
case oo=3
oPresentation.saveas("c:\yppt",ppSaveasJPG) && JPG
ax="(Série images JPG)"
case oo=4
oPresentation.saveas("c:\yppt",ppSaveasBMP) &&BMP
ax="(Série images JPG)"
case oo=5
oPresentation.saveas("c:\yppt",ppSaveasGIF) &&GIF
ax="(Série images GIF)"
case oo=6
oPresentation.saveas("c:\yppt",ppSaveasPNG) &&PNG
ax="(Série images PNG)"
case oo=7
oPresentation.saveas("c:\yppt",ppSaveasMetafile) &&(dossier yppt)
ax="(Série images WMF)"
endcase
messagebox("Le résultat de la conversion ["+ax+"] dans le dossier c:\yppt...va être visualisé -["+ndiapo+"]....faire défiler !"+ax,0+64,"benameuryousfi1@gmail.com") **************************************************** && explorateur d'images windows set defa to c:\yppt
gnbre=adir(gabase,'*.*')
if gnbre>0 DECLAREINTEGER ShellExecute IN shell32.dll ; INTEGER hndWin, STRING cAction, STRING cFileName, ; STRING cParams, STRING cDir, INTEGER nShowWin
aa="c:\yppt\"+gabase(1,1)
ShellExecute(0,"open",aa,"","",1) set defa to &yrep0
endi