ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

CONVERTIR UNE PRESENTATION POWERPOINT EN SERIE d'IMAGES JPG,GIF,PNG,BMP,WMF   



L'auteur

ybenam
Algérie Algérie
Membre Simple
# 0000002080
enregistré le 21/04/2008


Fiche personnelle


Note des membres
pas de note

Contributions > 09 - Automation

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')
close all
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')
if empty(afile)
return
endi
yrep0='"'+sys(5)+sys(2003)+'"'
**********************************
set safe off
if directory("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=""
do case
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
DECLARE INTEGER 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

opresentation.close()
oPowerpoint.quit
oPowerpoint=null





Commentaires
Aucun commentaire enregistré ...

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3