Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1281 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Nommer des objets sous Powerpoint

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Nommer des objets sous Powerpoint

n°765345
objectsfr
Posté le 16-06-2004 à 10:07:04  profilanswer
 

Bonjour je souhaite nommer les objets sous power point pour pouvoir les utiliser sous vb, quelqu'un sait comment faire?
 
Merci d'avance pour votre aide.

mood
Publicité
Posté le 16-06-2004 à 10:07:04  profilanswer
 

n°768340
fred178
Posté le 18-06-2004 à 09:49:49  profilanswer
 

J'ai fait un vert vert, et je l'ai colorié en rouge :
 
Sub Colore()
    ActivePresentation.Slides(1).Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
End Sub
 
Je ne sais pas si tu savais déjà faire ca. Pour le nom lui-même, je n'ai pas trouvé non plus.  
Je vais chercher un peu.

n°768363
fred178
Posté le 18-06-2004 à 10:04:06  profilanswer
 

J'avais fait un rectangle vert...
 
Dans l'aide ils donnent l'impression aue les objets créés dans PowerPoint prennent automatiquement le nom ''Type de forme numero''.  
Un exemple pour retourner rectangle 1 :
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Flip msoFlipHorizontal
myDocument.Shapes("Rectangle 1" ).Flip msoFlipHorizontal
 
Mais en VBA on peut créer des objets et leur donner un nom explicite.
Pour créer un carré rouge avec comme nom ''carre rouge'' et le placer :
Set myDocument = ActivePresentation.Slides(1)
With myDocument.Shapes.AddShape(Type:=msoShapeRectangle, _
        Top:=144, Left:=144, Width:=72, Height:=72)
    .Name = "Carre rouge"
    .Fill.ForeColor.RGB = RGB(255, 0, 0)
End With
 
Mais je ne vois pas de moyen pour créer une shape dans Power Point, la nommer, puis la manipuler avec VBA.
 
Bonne journée.

n°1702402
jay-jay69
Posté le 14-03-2008 à 14:07:26  profilanswer
 

up !!!
 
suis egalement interessé pour savoir comment nommer un objet sous PPT :
 
genre je dessine mon rectangle, je le coloris en vert... puis je lui donne un nom "rectangle_vert" et apres, en vba je peux jouer avec (le tourner, changer la couleur etc...)
 
merci d'avance !


Message édité par jay-jay69 le 14-03-2008 à 17:17:01
n°1756316
Anthone06
Posté le 07-07-2008 à 14:06:41  profilanswer
 

Bonjour
 
En effet certains composants n'ont pas un nom d'instance que l'on peut manipuler avec son code VB.
 
Il est toutefois possible de lister ses composants :
une boucle for pour lister les slides ou on utilise le slide actuel
une boucle for pour lister les shapes du slide (celui de la boucle for au dessus ou celui fixé à celui en cours de visonnage)
 
Sur ces shapes vous disposez de l'attribut Name (ex: Rectangle 4), et vous disposez de l'attibut Id
 
Pour le moment j'avais un code qui comparait l'id de chacun des composants du slide avec un mis en dur (bien mais pas top)
 
 
Je vais a present essayer de mettre mes composants avec du code (j'ai déjà le rectangle grâce à fred178 ;)    ), puis de les manipuler avec mes scripts.
 
Au pire même si vous saviez l'Id de vos composants ça n'automatiserai pas plus votre code, juste un moyen de ne pas parcourir les composants grace à la technique des doubles boucle for qui servent pour identifier...
 
Si ce code peut vous être utile (j'en doute mais bon, ça en aidera peut être d'autres
For Each Forme In ActivePresentation.Slides(1).Shapes
        Debug.Print "name=" & Forme.Name & "left=" & Forme.Left & " id=" & Forme.Id
       
        'on cherche l'image du bouton menu
        If (Forme.Id = 5227) Then
            'apres on effectue son traitement, ici un alignement
            Forme.IncrementLeft 200
        End If
 Next
 

n°1756319
Anthone06
Posté le 07-07-2008 à 14:11:07  profilanswer
 

J'ai une question, si un expert connait la solution chapeau !!! :
Je n'ai pas trouvé les moyen de rafraichir une page -> solution de la majorité des codeurs de VB dans powerpoint : faire un GotoPage sur la page actuelle pour donner l'impression que la page se rafraichit, sale code mais ça marche.
Voilà là où ça devient complexe : je dois effectuer ce code dans la partie VB d'une SlideMaster, en gros un calque que l'on peut appliquer à différents slides. Comment alors rafraichir le calque ??? ou le slide qui le contient ??? attention le code doit marcher en diaporama !!! Donc pas de select par exemple ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Nommer des objets sous Powerpoint

 

Sujets relatifs
[Servlet] Comment passer 2 objets à une servlet depuis une applet ?[C++] Pas de copie lors de l'affectation entre objets string?
[C++] Serialisation d'une liste d'objets dérivésHELP : Présentation PowerPoint en plein écran sans Menu URGENT
JList et affichage du nom des objets autre que nomDeMaClasse@3fd4gf5[VB] macro pour imprimer une page sur powerpoint
[DHTML] Utiliser dans des objets dans la page mais en dehors du scriptnommer le nom d'une colonne
passage par référence pour objets php [OK]Forcer l'ouverture d'un doc Powerpoint!
Plus de sujets relatifs à : Nommer des objets sous Powerpoint


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR