PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → PowerPoint OLE
PowerPoint OLE
Iniciado por vincent.dubreil, 05,oct. 2015 12:13 - 3 respuestas
Publicado el 05,octubre 2015 - 12:13
Bonjour au forum,

je cherche à piloter PowerPoint afin de trouver et remplacer certains textes dans un slide par des valeurs saisies dans mon application WD.
Je n'ai pas de souci pour ouvrir le Powerpoint par OLE mais je ne sais pas comment transposer le code VB ci-dessous dans le langage OLE de Windev. Notamment, la partie où on boucle sur les présentations, les slides puis les objets.
De la même façon, comment déclarer, en OLE, un slide (par exemple) pour l'utiliser ensuite dans une boucle
Est-ce que quelqu'un sait comment faire?

Voici le code trouvé qui permet de faire cela :

Sub Global_1()
Dim oPres As Presentation
Dim oSld As Slide
Dim oShp As Shape
Dim FindWhat As String
Dim ReplaceWith As String
FindWhat = "This"
ReplaceWith = "That"
For Each oPres In Application.Presentations
For Each oSld In ActivePresentation.Slides

For Each oShp In oSld.Shapes



Call FindnRe(oShp, FindWhat, ReplaceWith)
Next oShp
Next oSld
Next oPres

End Sub

Merci de votre attention
Clark :)
Miembro registrado
962 mensajes
Publicado el 06,octubre 2015 - 01:58
hello,
pour des TextFrames tu peux essayer un code du genre :
objPpt est un objet automation "Powerpoint.application"
i,j,k sont des entiers
LesPrésentationsOuvertes est un objet automation dynamique
MaPrésentation est un objet automation dynamique
MaDiapo est un objet automation dynamique
MonObjet est un objet automation dynamique
objPpt>>Visible = True
LesPrésentationsOuvertes = objPpt>>Presentations
POUR i = 1 _A_ LesPrésentationsOuvertes>>Count
MaPrésentation = LesPrésentationsOuvertes>>Item(i)
POUR j = 1 _A_ MaPrésentation>>Slides>>Count
MaDiapo = MaPrésentation>>Slides>>Item(j)
POUR k=1 _A_ MaDiapo>>Shapes>>Count
MonObjet = MaDiapo>>Shapes>>Item(k)
SI MonObjet>>HasTextFrame ALORS
SI MonObjet>>TextFrame>>HasText ALORS
MonObjet>>TextFrame>>TextRange>>Text = Remplace(MonObjet>>TextFrame>>TextRange>>Text, "TexteARemplacer", "TexteDeRemplacement")
FIN
FIN
FIN
FIN
FIN


--
Ami calmant, J.P
Publicado el 07,octubre 2015 - 11:21
C'est exactement ce qu'il me fallait. Je n'avais pas du tout pensé au fait d'utiliser plusieurs objets automation! :o
Ca tombe pourtant sous le sens quand on le voit!!

Un grand merci Jurrasik Pork :merci: :merci:
Publicado el 02,junio 2020 - 20:34
je cherche a mettre une présentation PowerPoint dans une appli une fenêtre pouvez-vous m'aider
cdlt