Correction : le solde Google Play continue dêtre refusé
Si le solde Google Play continue d
Il y a quelques jours, je voulais automatiser la tâche plutôt banale de créer des diapositives PowerPoint. Lors de l'automatisation de PowerPoint, vous travaillez généralement avec la collection Slides and Shapes. Les diapositives sont plutôt explicites et les formes sont à peu près tout le reste, y compris les zones de texte, les boutons d'action, les objets multimédias, les étiquettes, les images, les légendes, les organigrammes, etc. Bien que je présente les techniques avec PowerPoint, une partie de la syntaxe est en fait assez applicable à Microsoft Word et Excel.
Pour récapituler, avant de commencer le développement de macros VBA dans PowerPoint, vous devez activer votre onglet de développement .
Tout d'abord, commençons par créer automatiquement une présentation avec quelques diapositives comme indiqué dans ce tutoriel : création d'une présentation en VBA .
Nous pouvons maintenant commencer à travailler avec Shapes. Tout d'abord, allons-y et ouvrons l'éditeur VBA en appuyant sur Alt + F11. Si vous avez suivi le didacticiel précédent, vous devriez avoir le module 1 dans votre liste de modules (comme indiqué ci-dessous).
Travailler avec des formes avec VBA
Ajouter une zone de texte avec VBA
Nous allons commencer par ajouter une zone de texte verticale à notre première diapositive de la présentation. Ajoutez le code suivant au Module1, puis continuez et appuyez sur le bouton Enregistrer (Ctrl + s) et exécutez votre macro (appuyez sur F5 ou appuyez sur Exécuter sous/formulaire utilisateur).
Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)
With MySlide.Shapes
.AddTextbox(Orientation:=msoTextOrientationVertical, _
Left:=90, Top:=200, Width:=80, _
Height:=200).TextFrame.TextRange.Text _
= ("This is my vertical text box")
End With
End Sub
Notez que vous pouvez redimensionner assez facilement les dimensions de votre zone de texte avec VBA. Dans ce cas, nous redimensionnerons la première forme dans la deuxième diapositive, n'hésitez pas à la modifier si nécessaire.
Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)
'Add your required dimensions as needed below
With MyShape
.Width = 200
.Height = 35
End With
End Sub
Effets de texte avec VBA
Supposons maintenant que nous voulions ajouter une zone de texte à toutes les diapositives de la présentation, cette fois un peu plus attrayante visuellement. Pour ce faire, nous utiliserons VBA pour créer des effets de texte personnalisés que nous pourrons intégrer dans une ou plusieurs diapositives de la présentation. Nous allons d'abord parcourir les diapositives de la présentation, puis ajouter l'effet de texte si nécessaire.
Sub SetEffects()
Dim i As Integer
For i = 1 To ActivePresentation.Slides.Count
ActivePresentation.Slides(i) _
.Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
"Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next
End Sub
Voici le résultat ;-):
Notez que vous pouvez tout aussi bien utiliser un simple filigrane pour obtenir ce résultat spécifique.
Légendes PowerPoint avec VBA
Notre prochain exemple consistera à ajouter des légendes à votre présentation. Dans cet exemple, nous ajouterons une légende à la deuxième diapositive.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
De nombreuses propriétés de mise en forme des formes ne sont pas définies par des propriétés qui s'appliquent directement à l' objet Shape ou ShapeRange . Au lieu de cela, les attributs de forme associés sont regroupés sous des objets secondaires, tels que l' objet FillFormat , qui contient toutes les propriétés liées au remplissage de la forme, ou l' objet LinkFormat , qui contient toutes les propriétés uniques aux objets OLE liés. Pour définir les propriétés d'une forme, vous devez d'abord renvoyer l'objet qui représente l'ensemble des attributs de forme associés, puis définir les propriétés de cet objet renvoyé. Par exemple, vous utilisez la propriété Fill pour renvoyer l’ objet FillFormat , puis vous définissez la propriété ForeColor de l’ objet FillFormat pour définir la couleur de premier plan de remplissage pour la forme spécifiée, comme illustré dans l’exemple suivant.
VB
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
Dans l'interface utilisateur, vous pouvez effectuer certaines opérations avec plusieurs formes sélectionnées ; par exemple, vous pouvez sélectionner plusieurs formes et définir simultanément tous leurs remplissages individuels. Il existe d'autres opérations que vous ne pouvez effectuer qu'avec une seule forme sélectionnée ; par exemple, vous ne pouvez modifier le texte d'une forme que si une seule forme est sélectionnée.
Dans Visual Basic, il existe deux manières d’appliquer des propriétés et des méthodes à un ensemble de formes. Ces deux méthodes vous permettent d'effectuer n'importe quelle opération que vous pouvez effectuer sur une seule forme sur une plage de formes, que vous puissiez ou non effectuer la même opération dans l'interface utilisateur.
Si l'opération fonctionne sur plusieurs formes sélectionnées dans l'interface utilisateur, vous pouvez effectuer la même opération dans Visual Basic en construisant une collection ShapeRange qui contient les formes avec lesquelles vous souhaitez travailler et en appliquant les propriétés et méthodes appropriées directement à la collection ShapeRange .
Si l'opération ne fonctionne pas sur plusieurs formes sélectionnées dans l'interface utilisateur, vous pouvez toujours effectuer l'opération dans Visual Basic en parcourant la collection Shapes ou via une collection ShapeRange qui contient les formes avec lesquelles vous souhaitez travailler et en appliquant les propriétés appropriées. et des méthodes pour les objets Shape individuels de la collection.
De nombreuses propriétés et méthodes qui s’appliquent à l’ objet Shape et à la collection ShapeRange échouent si elles sont appliquées à certains types de formes. Par exemple, la propriété TextFrame échoue si elle est appliquée à une forme qui ne peut pas contenir de texte. Si vous n’êtes pas sûr qu’une certaine propriété ou méthode puisse lui être appliquée à chaque forme d’une collection ShapeRange , n’appliquez pas la propriété ou la méthode à la collection ShapeRange . Si vous souhaitez appliquer l'une de ces propriétés ou méthodes à une collection de formes, vous devez parcourir la collection et tester chaque forme individuelle pour vous assurer qu'il s'agit d'un type de forme approprié avant de lui appliquer la propriété ou la méthode.
Si vous pouvez effectuer une opération sur plusieurs formes sélectionnées dans l'interface utilisateur en même temps, vous pouvez effectuer l'équivalent programmatique en construisant une collection ShapeRange , puis en lui appliquant les propriétés ou méthodes appropriées. L'exemple suivant construit une plage de formes qui contient les formes automatiques nommées « Grande étoile » et « Petite étoile » et leur applique un remplissage dégradé et leur applique un remplissage dégradé.myDocument
VB
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
Voici des directives générales sur le comportement des propriétés et des méthodes lorsqu'elles sont appliquées à une collection ShapeRange .
Appliquer une méthode à la collection équivaut à appliquer la méthode à chaque objet Shape individuel de cette collection.
Définir la valeur d'une propriété de la collection équivaut à définir la valeur de la propriété de chaque forme individuelle dans cette plage.
Une propriété de la collection qui renvoie une constante renvoie la valeur de la propriété pour une forme individuelle de la collection si toutes les formes de la collection ont la même valeur pour cette propriété. Si toutes les formes de la collection n’ont pas la même valeur pour la propriété, la constante « mixte » est renvoyée.
Une propriété de la collection qui renvoie un type de données simple (tel que Long , Single ou String ) renvoie la valeur de la propriété pour une forme individuelle si toutes les formes de la collection ont la même valeur pour cette propriété.
La valeur de certaines propriétés peut être renvoyée ou définie uniquement s'il existe exactement une forme dans la collection. S’il existe plusieurs formes dans la collection, une erreur d’exécution se produit. C'est généralement le cas pour renvoyer ou définir des propriétés lorsque l'action équivalente dans l'interface utilisateur n'est possible qu'avec une seule forme (actions telles que l'édition de texte dans une forme ou l'édition des points d'une forme libre).
Les instructions précédentes s'appliquent également lorsque vous définissez les propriétés des formes regroupées sous des objets secondaires de la collection ShapeRange , tels que l' objet FillFormat . Si l'objet secondaire représente des opérations pouvant être effectuées sur plusieurs objets sélectionnés dans l'interface utilisateur, vous pourrez renvoyer l'objet d'une collection ShapeRange et définir ses propriétés. Par exemple, vous pouvez utiliser la propriété Fill pour renvoyer l' objet FillFormat qui représente les remplissages de toutes les formes de la collection ShapeRange . La définition des propriétés de cet objet FillFormat définira les mêmes propriétés pour toutes les formes individuelles de la collection ShapeRange .
Même si vous ne pouvez pas effectuer une opération sur plusieurs formes dans l'interface utilisateur en même temps en les sélectionnant puis en utilisant une commande, vous pouvez effectuer l'action équivalente par programme en parcourant la collection Shapes ou via une collection ShapeRange qui contient les formes que vous souhaitez. vous souhaitez travailler et appliquer les propriétés et méthodes appropriées aux objets Shape individuels de la collection. L’exemple suivant parcourt toutes les formes et ajoute du texte à chaque forme qui est une forme automatique. et ajoute du texte à chaque forme qui est une forme automatique.myDocument
VB
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
If sh.Type = msoAutoShape Then
sh.TextFrame.TextRange.InsertAfter " (version 1)"
End If
Next
L'exemple suivant construit la collection ShapeRange qui contient toutes les formes actuellement sélectionnées dans la fenêtre active et définit le texte de chaque forme de la collection pouvant contenir du texte.
VB
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
Utilisez les méthodes Aligner et Distribuer pour positionner un ensemble de formes les unes par rapport aux autres ou par rapport au document qui les contient. Utilisez la méthode Group ou la méthode Regroup pour former une seule forme groupée à partir d’un ensemble de formes.
Si le solde Google Play continue d
Résolvez l’erreur 94 Échec du chargement de Hulu sur un PC Windows 10 ou une Xbox One grâce à nos solutions efficaces pour corriger le code d
Apprenez à corriger le code d
Si vous avez une image, une vidéo ou un fichier qui accompagne une note, apprenez à les insérer facilement dans OneNote grâce à notre guide étape par étape !
Obtenez des solutions pour corriger l
Apprenez à citer des sources et à créer une bibliographie dans Google Docs de manière efficace. Suivez ces étapes simples pour améliorer la qualité de vos travaux.
Suivez ici tous les correctifs possibles pour résoudre l
Résolvez le problème lorsque les fonctionnalités de jeu ne sont pas disponibles pour le bureau Windows ou l
Découvrez comment exporter vos messages de chat Discord. Apprenez les meilleures méthodes, y compris l
Obtenez des détails complets sur l'erreur de tête d'impression manquante ou défaillante. Essayez les meilleurs correctifs pour résoudre l'erreur de tête d'impression manquante ou en échec de HP Officejet.