Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/06/2007, 11h45   #1
Membre du Club
 
Avatar de benj63
 
Inscription : mai 2002
Messages : 166
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 166
Points : 41
Points : 41
Envoyer un message via ICQ à benj63 Envoyer un message via AIM à benj63 Envoyer un message via Yahoo à benj63
Par défaut "ThisPresentation" sous PowerPoint

Bonjour, je tente en vain d'utiliser ThisPresentation sous VBA pour PowerPoint, à la manière de ThisWorkbook pour Excel...

Or, contrairement à ce qu'on peut lire sur le site de Microsoft (http://support.microsoft.com/kb/280157/fr) cela ne fonctionne pas, même en rajoutant la référence "Visual Basic Extensibility" !

Connaissez-vous la solution pour récupérer l'objet relatif à la présentation PPT contenant le code VB (ce n'est pas ActivePresentation) ? Merci par avance !!
benj63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2007, 09h25   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Tu déclares ThisPresentation en public et dans la première macro utilisée par VB tu instancies la présentation

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Public ThisPresentation as presentation
 
Sub ChangerCouleurDeFond()
    Set ThisPresentation = ActivePresentation
'ou
    Set ThisPresentation = Presentations("Test.ppt")
    With ThisPresentation
        Set CS3 = .ColorSchemes(3)
        CS3.Colors(ppBackground).RGB = RGB(0, 0, 255)
        With Windows(1)
            .Selection.SlideRange.ColorScheme = CS3
            .ViewType = ppViewSlide
        End With
    End With
End Sub
Ainsi, tu pourras utiliser ThisPresentation dans toutes tes macros
Mais tu peux aussi utiliser une instance plus courte (Pr1 ou Pr0) ça reviendra au même
A l'adresse que tu as indiquée, je ne vois pas où ils parlent de Thispresentation. Pas dans le code. Si c'est dans l'un des articles, n'oublie pas que la traduction est plus qu'approximative...
Extrait :
Citation:
Plus d'informations
Lorsque vous copiez et collez le texte de macro à Visual Basic Editor, peut continuellement augmenter même lorsque vous copiez, collez le même texte au-dessus d'il et enregistrez le modèle sans les toutes toutes modifications, la taille de fichier.
Bonne chance
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 09h54   #3
Membre du Club
 
Avatar de benj63
 
Inscription : mai 2002
Messages : 166
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 166
Points : 41
Points : 41
Envoyer un message via ICQ à benj63 Envoyer un message via AIM à benj63 Envoyer un message via Yahoo à benj63
Merci beaucoup, j'utiliserai cette feinte !

Me méfiant des traductions en français, j'avais également regardé la version originale en anglais, et ils parlent bien de ThisPresentation pour PowerPoint...

Citation:
MORE INFORMATION
When you copy and paste macro text into the Visual Basic Editor, the file size may continually increase, even when you copy and paste the same text over itself and save the template without any other changes.

When the ThisDocument (Word), ThisWorkBook (Excel), or ThisPresentation (PowerPoint) objects are imported from disk, they will not replace the existing document object types in the Office applications. Instead they will appear as class modules.
http://support.microsoft.com/kb/280157/en-us

mais il est vrai, que tant que ce n'est pas dans le code, rien n'est garanti...
benj63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h52.


 
 
 
 
Partenaires

Hébergement Web