Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD10] Powerpoint en OLE...

3 réponses
Avatar
Rémy
Bonjour,

dans mon appli WD10, j'ai actuellement quelques soucis pour me servir de
powerpoint en OLE. En effet, j'ai besoin d'ouvrir un doc en ppt dans mon
appli, puis de l'imprimer en pdf avec PDFCreator.

Mon probleme, avec le même type de classe avec Word, pas de probleme, alors
que la ca coince... par contre, si j'ouvre powerpoint avant, pas de
problème, j'ai ma sortie PDF...

Comme je ne veux pas que Powerpoint s'ouvre, ca me pose problème, alors
qu'avec Word, pas de probleme, Word ne s'ouvre pas...

Une idée ?

Merci

Rémy

** Une partie du code : **
Initialisation de la fenetre :
clPPT est un objet cPowerPoint(Vrai)

Mon bouton :

clPPT>>Ouvre("toto.ppt")

La classe :

cPowerPoint est une classe

m_xPowerPoint est un objet OLE dynamique // Pointeur sur objet actif
m_nVersion est un entier // Version de Word installée sur le poste
m_sDocEnCours est une chaîne // Document en cours
FIN

PROCEDURE cPowerPoint::constructeur(bRecycle=Faux)
// si bRecycle=Vrai, on réutilise le PPT qui est déjà ouvert
// on teste la présence de PPT et on récupère sa version
nVersion est un entier
nVersion = :nVersionOffice("PowerPoint")
SI nVersion = 0 ALORS
FinProgramme("PowerPoint n'a pas été installé sur cette machine,
vous ne pouvez pas utiliser cette classe !",Faux)
RETOUR
FIN
SI nVersion < 8 ALORS
FinProgramme("Pour utiliser cette classe, vous devez avoir
PowerPoint 97 ou supérieur !",Faux)
RETOUR
FIN
// version de PPT
:m_nVersion = nVersion
// si PPT n'est pas déja alloué
SI :m_xPowerPoint = Null ALORS
// si l'utilisateur veut réutiliser le PPTdéjà ouvert
SI bRecycle ALORS
:m_xPowerPoint = ObjetActif("PowerPoint.Application")
SI :m_xPowerPoint = Null ALORS
// il n'y avait aucun PPT déjà ouvert, on en alloue un
:m_xPowerPoint = allouer un objet Automation
"PowerPoint.Application"
FIN
SINON
// on en alloue un nouveau
:m_xPowerPoint = allouer un objet Automation
"PowerPoint.Application"
FIN
FIN

PROCEDURE cPowerPoint::Ouvre(sDocAOuvrir)
QUAND EXCEPTION DANS
// on ouvre le document passé en paramètre
:m_xPowerPoint>>Presentations>>Open(sDocAOuvrir)
FAIRE
:MsgErreur("Impossible d'ouvrir le document.",ExceptionInfo())
RETOUR
FIN

** Fin du code **

Erreur rencontré :

Erreur 80048240 : Presentations.Open : Invalid request. The PowerPoint Frame
window does not exist.

3 réponses

Avatar
Rémy
"Rémy" a écrit dans le message de news:
453f6d9b$0$22299$
<cut>

Bon, pour ceux que ca interesse, c'est un bug de powerpoint
(http://support.microsoft.com/default.aspx?scid=kb;EN-US;q285472)

@+
rémy
Avatar
Gégé
Sans ses moufles, Rémy a écrit :
dans mon appli WD10, j'ai actuellement quelques soucis pour me servir de
powerpoint en OLE. En effet, j'ai besoin d'ouvrir un doc en ppt dans mon
appli, puis de l'imprimer en pdf avec PDFCreator.


Salut,
Si PowerPoint te pose problème, pourquoi ne pas utiliser OpenOffice.org
En plus, tu n'auras pas besoin de PDFCreator.
Avatar
Rémy
"Gégé" a écrit dans le message de news:
ehnvs4$tqo$
<........>
Salut,



Salut,

Si PowerPoint te pose problème, pourquoi ne pas utiliser OpenOffice.org
En plus, tu n'auras pas besoin de PDFCreator.



Office est installé, et j'ai pas le droit d'installer autre chose... bref,
condamné au bagne avec office, lol !

@+
rémy